Repository navigation
IPv6 ACL: match protocol-number rules with meta l4proto - #14360
bhouse-nexthop wants to merge 4 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 4.22 #14360 +/- ##
============================================
- Coverage 18.13% 18.12% -0.01%
+ Complexity 16445 16443 -2
============================================
Files 5939 5939
Lines 537306 537306
Branches 65867 65867
============================================
- Hits 97439 97402 -37
- Misses 428749 428796 +47
+ Partials 11118 11108 -10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
fd021d6 to
6ff859e
Compare
|
@vladimirpetrov @sureshanaparti could you take a look at this one? We'd like this fix to make it into the upcoming 4.22.2 release. |
|
thanks @bhouse-nexthop, fix looks right. good to go from my side |
Match IPv6 ACL rules given by protocol number with "meta l4proto", the expression nft itself uses for tcp, udp and icmpv6 rules, so that every IPv6 ACL rule identifies the protocol the same way. Signed-off-by: Brad House <bhouse@nexthop.ai>
An ACL rule given by the protocol number of an IPv6 extension header (0, 43, 44, 60, 135) is rendered as nft's "exthdr <name> exists" for that header, rather than as an upper-layer protocol. Signed-off-by: Brad House <bhouse@nexthop.ai>
Signed-off-by: Brad House <bhouse@nexthop.ai>
Signed-off-by: Brad House <bhouse@nexthop.ai>
b1e0fd6 to
91794f9
Compare
|
@blueorangutan package |
|
@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
@weizhouapache thanks for kicking the packaging. Could you also run the tests and add it to the 4.22.2 milestone? @Damans227 reviewed it on 10-08; it still needs a committer review. I understand 4.22.2 is due out late this week or early next. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19681 |
|
@blueorangutan test |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
Description
IPv6 network ACL rules given by protocol number are now matched with
meta l4proto, the expression nft itself uses fortcp,udpandicmpv6rules. Every IPv6 ACL rule then identifies the protocol the same way. A rule given by the number of an IPv6 extension header (0, 43, 44, 60, 135) is matched as that extension header (exthdr <name> exists).Types of changes
Feature/Enhancement Scale or Bug Severity
Bug Severity
How Has This Been Tested?
systemvm/test/TestCsAclIpv6.pychecks the rendered ingress and egress rules, including extension header numbers.CsNetfilters.apply_ip6_rules()and checked against traffic.meta l4protoandexthdr ... existswere checked to load on nft 1.0.6, the version in the Debian 12 systemvm template.pycodestyleandpylint(as insystemvm/test/runtests.sh) report nothing new.