Merge pull request #10948 from ssahani/iprule-port-proto

networkd: add support to configure ip rule port range and protocol.
This commit is contained in:
Yu Watanabe
2018-11-29 03:17:36 +09:00
committed by GitHub
17 changed files with 359 additions and 17 deletions
@@ -0,0 +1,11 @@
[Match]
Name=test1
[RoutingPolicyRule]
TypeOfService=0x08
Table=7
From= 192.168.100.18
Priority=111
SourcePort = 1123-1150
DestinationPort = 3224-3290
Protocol = tcp
@@ -150,6 +150,9 @@ From=
TypeOfService=
Priority=
FirewallMark=
SourcePort=
DestinationPort=
Protocol=
[IPv6PrefixDelegation]
RouterPreference=
DNSLifetimeSec=
@@ -0,0 +1,11 @@
[Match]
Name=test1
[RoutingPolicyRule]
TypeOfService=0x08
Table=7
From= 192.168.100.18
Priority=111
SourcePort = 1123-1150
DestinationPort = 3224-3290
Protocol = tcp
+17 -3
View File
@@ -427,9 +427,9 @@ class NetworkdNetWorkTests(unittest.TestCase, Utilities):
units = ['12-dummy.netdev', 'test-static.network', 'configure-without-carrier.network', '11-dummy.netdev',
'23-primary-slave.network', '23-test1-bond199.network', '11-dummy.netdev', '23-bond199.network',
'25-bond-active-backup-slave.netdev', '12-dummy.netdev', '23-active-slave.network',
'routing-policy-rule.network', '25-address-section.network', '25-address-section-miscellaneous.network',
'25-route-section.network', '25-route-type.network', '25-route-tcp-window-settings.network',
'25-route-gateway.network', '25-route-gateway-on-link.network',
'routing-policy-rule.network', '25-fibrule-port-range.network', '25-address-section.network',
'25-address-section-miscellaneous.network', '25-route-section.network', '25-route-type.network',
'25-route-tcp-window-settings.network', '25-route-gateway.network', '25-route-gateway-on-link.network',
'25-address-link-section.network', '25-ipv6-address-label-section.network', '25-link-section-unmanaged.network',
'25-sysctl.network', '25-route-reverse-order.network']
@@ -496,6 +496,20 @@ class NetworkdNetWorkTests(unittest.TestCase, Utilities):
self.assertRegex(output, 'oif test1')
self.assertRegex(output, 'lookup 7')
def test_routing_policy_rule_port_range(self):
self.copy_unit_to_networkd_unit_path('25-fibrule-port-range.network', '11-dummy.netdev')
self.start_networkd()
self.assertTrue(self.link_exits('test1'))
output = subprocess.check_output(['ip', 'rule']).rstrip().decode('utf-8')
print(output)
self.assertRegex(output, '111')
self.assertRegex(output, 'from 192.168.100.18')
self.assertRegex(output, '1123-1150')
self.assertRegex(output, '3224-3290')
self.assertRegex(output, 'tcp')
self.assertRegex(output, 'lookup 7')
def test_address_preferred_lifetime_zero_ipv6(self):
self.copy_unit_to_networkd_unit_path('25-address-section-miscellaneous.network', '12-dummy.netdev')
self.start_networkd()