-
Notifications
You must be signed in to change notification settings - Fork 35
MAC
The NAS Layer 2 media access control (MAC) module provides L2 FDB-related services and port security features requested by the applications.
- Manage the MAC address table
- Configure the aging time for dynamic FDB entries
- Configure static MAC address
- Clear the MAC address table of dynamic/sticky entries (per entry/all/interface/VLAN)
- Provide the MAC address table contents
- Handle callback for the MAC learn/age/flash notification, and maintain the software cache of the FDB table
- MAC move detect/notification
- Layer 2 port security features
- Configure MAC learning limit for interfaces (set an upper limit on the number of MAC address which can be learned on an interface/VLAN)
- Implement the functionality (dynamic/sticky) and facilitate to execute different actions for learning limit violation (station move/no station move)
- Recover from Learning limit and station move violation error state for normal operation
The following shows the module interfaces with netlink message (interface and FDB-related) to communicate to the kernel.
The NAS L2 MAC module provides L2 FDB-related services — it registers the callback handler for the MAC learn/age notification from SAI. This needs to maintain a software cache for L2 FDB table for handling the various pieces of functionality it provides. There will be separate tables maintained for static/learned FDB entries.
This design maintains the features/tables of the kernel as much as possibly close to the Dell offering. This depends on the availability and capability of the L2 features available in the kernel.
The learned MAC addresses at the forwarding path will not be pushed to the kernel FDB table, as it is maintained in the software cache.
This module needs to interface with netlink messages (interface/FDB-related) and mainly is interested in RTM_NEWNEIGH
/RTM_DELNEIGH
type messages.
© 2019 OpenSwitch project. All information is contributed to and made available by OPX under the Creative Commons Attribution 4.0 International License (available at http://creativecommons.org/licenses/by/4.0/).
- Home
- System overview
- Software releases
- Hardware support
- FAQs
- Install
- Build
- Configure
- Develop
- Administer
- Troubleshoot
- Software compatibility
- Contribute
- DevOps
- Join