Loading
ethernet: (GSoC26) Add EthernetChannel and EthernetNetDevice
Adds EthernetChannel and EthernetNetDevice model in ethernet modules and related unit tests. This is the first iteration of EthernetNetDevice which will be modified and updated in the following Merge Requests.
Implementation
Ethernet Channel (Features 1,2 from wiki ):
- Designed to model packet transmission and propagation without maintaining global channel state.
- Supports full-duplex mode of operation.
EthernetNetDevice (Features 7,8) :
- Control interface for Ethernet MAC and PHY layer and and is responsible for interfacing with higher protocol layers.
- Implements EthernetLinkType which defines Ethernet standard link types.
EthernetPHY (Features 3,4) :
- Responsible for physical-layer transmission and provides transmit/receive interfaces to interact with the EthernetChannel, handling timing, link state management.
- PHY uses the configured link data rate to calculate frame transmission time and update interframe gap time.
EthernetMAC (Features 5,6) :
- Responsible for Ethernet Frame Processing, interframe gap scheduling, and interaction with PHY for packet transmission.
- Supports IEEE 802.3x Ethernet Flow Control for full-duplex links, owns Rx & Tx queues, handles buffering.
AI Disclosure
I have used AI for understanding the existing code, summarise it and for debugging.
For Code implementation referred to lr-wpan, point-to-point and csma modules and no AI generated code is used.
Edited by Manmita Das