-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add basic BIER elements #397
base: main
Are you sure you want to change the base?
Conversation
Well, everything seems good and 'standard' to me so far. |
Thanks for the review! I will open the PR for merge once I have a functional BIER data-plane. |
One thing you can also do is add a few tests (see the tests folder). So you're sure elements behave as expected. The easiest is probably to use some FromIPSum.* (look at other examples) so you can easily add some payload and verify what you get. Unit testing is done through specific Test element in elements/tests. For such a big project it's generally a good idea. |
This commit adds basic elements for BIER packets processing. First, it adds the Bier Forwarding Table (BIFT) which is implemented as the IPv6 forwarding table. That is, Fastclick is extended with a 'biertable' that defines the basic operations on the BIFT. The 'bierroutetable' element defines handlers allowing external interactions and the 'lookupbiertable' is the element representing the BIFT. Second, two simple filtering elements are added, (i) 'checkbierheader' that verifies the header of a BIER packet and (ii) 'checkbierin6header' that filters IPv6 packet to detect BIERin6 encapsulated BIER packets.
Rebase on 91a3454. |
I will add some tests in subsequent commits but in the current state of the PR, the BIFT is correctly populated by the |
This PR adds basic elements for BIER packets processing.
First, it adds the Bier Forwarding Table (BIFT) which is implemented as the IPv6 forwarding table. That is, Fastclick is extended with a 'biertable' that defines the basic operations on the BIFT. The 'bierroutetable' element defines handlers allowing external interactions and the 'lookupbiertable' is the element representing the BIFT.
Second, two simple filtering elements are added, (i) 'checkbierheader' that verifies the header of a BIER packet and (ii) 'checkbierin6header' that filters IPv6 packet to detect BIERin6 encapsulated BIER packets.
TODO