facebook / fboss

Facebook Open Switching System Software for controlling network switches.
Other
866 stars 301 forks source link

Added hack to enable Open/R for OSS FBOSS #64

Closed capveg closed 6 years ago

capveg commented 6 years ago

Open/R uses IPv6 multicast for route discovery. Unfortunately, the old version of OpenNSL that we're compiling against does not have ACL support (though newer versions do) so apply this band-aid to make Open/R work until we can update OpenNSL to a more modern version.

The specifics are we add a static L2 entry for mac 33:33:00:00:01 for each VLAN to send to CPU. This is the well-known MAC address that ff00::1 (the route discover address) translates to. We do this because neither ACL tables nor L2 Cache are exposed in this version of OpenNSL.

facebook-github-bot commented 6 years ago

@capveg has updated the pull request. View: changes

capveg commented 6 years ago

NOTE: this code causes a packet loop as the outgoing packets with dst addr=33:33:00:00:01 are punted back to the source switch's CPU. Closing and trying a different tack.