Skip to content

Unify network interfaces #3269

@bulislaw

Description

@bulislaw
  • Type: Enhancement
  • Priority: Major

Enhancement

Currently there's no central way of creating a NetworkInterface, each interface type is different or even each vendor requires different initialization code. That makes our networking client code confusing, hard to maintain and plainly ugly. It would also help to keep our test clean and avoid unnecessary code duplication.

Proposed solution

One way of addressing this issue could be to introduce a factory class Networking which would be an main point for user to create built in networking interfaces (user would still need to use vendor specific classes for any external modules). Networking class should provide (static?) methods to get built in interface of each type, as I don't think there's a point of pretending they are the same when they are not. We could start with EthernetInterface getEthernet() and WiFiInterface getWiFi() and extend it for other IP based networks.

Prerequisites

  • EMAC unification for WiFi and Ethernet
  • Support for multiple interface on one target

CC: @geky @sg- @0xc0170

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions