First page Back Continue Last page Overview Graphics
Separation of L2/L3-specific Neighbor Data
Linux has unified data structure for neighbors for various L2/L3 such as:
- L2: Ethernet, Firewire, ATM, …
- L3: IPv4, IPv6, DECnet, …
In addition to basic state/mapping between L2/L3, it can hold additional data specific to L2 or L3.
Because the only users (ATM and DECnet) are exclusive (DECnet over ATM is not possible), the code assumes that L2/L3 specific data are not used at the same time.
Problems
- SEND (Securing Neighbour Discovery) may want to have IPv6-specific data (timestamp, key etc.)
- Firewire or other L2 may want to have L2-specific data
- Even without these, we always calculated size of entry size when allocating new NCE.