Ether-Ring functionality is achieved using hardware configuration with assistance of software. The 3 main components are
- Packet Duplication - Inter-vlan Routing(Hardware Configuration)
- Duplicate Packet Rejection - Software assistance
- Ring Termination - Hardware Configuration
Software Architecture
CAN to Ethernet Traffic Simulation
-
Interrupt and Polling Configuration: Disabled Packet Transmission Complete Interrupt and Packet Reception Interrupt to reduce interrupt overhead. Implemented periodic polling for packet reception to ensure timely processing.
-
Timer Synchronization: Synchronized timer clock source with 802.1AS to reduce drift in timer periodic interrupts.
-
Pulse Generation Configuration: Configured pulse generation to start before the 802.1Qbv gate opens to ensure accurate and timely pulse generation.
Packet Duplication on Transmission
-
Inter-VLAN routing: Routes VLAN Tag1 packet to VLAN Tag2 to duplicate packets in both directions.
-
VLAN routing configuration: Configured on both MAC ports to egress packets with updated VLAN tags.
-
802.1Q Packet Duplication: Uses Inter-VLAN routing feature to duplicate packets and send them in both clockwise and anti-clockwise directions in the Ring Network.
-
Address Lookup Engine(ALE): Determines Inter-VLAN egress opcode for each packet to be VLAN routed.
-
Classifier/Policer configuration: Configured for the route to modify VLAN tags and duplicate Ethernet packet on both MAC ports.
Software Assistance on Transmission side
-
Adds custom header using Zero-copy which helps to reject the duplicate packets on receiver zonal controller
-
Generating Ethernet packet with non continuous buffers for Header addition.
Software Assistance on Reception side
-
Removes Custom Header on the receiver end after detecting and deleting duplicate packets coming from other direction, ensuring clean and original packet delivery
-
Generating Ethernet packet with non continuous buffers for Header addition.
Duplicate packet Rejection on Reception side(Duplicate Packet Rejection)
-
Custom Header Data: Ethernet packets contain custom header data to facilitate duplicate rejection.
-
Look-up Table: The look-up table stores key with tuples of {Source Mac Address ,Sequence Number} and Entries denoting the count of packet received.
-
Duplicate Rejection: Duplicate packets are rejected using look-up table Entries.
-
Periodic Look-up table clearance: Look-up table entries are periodically cleared to receive original Ethernet packets in case of single point wire failure.