test-network: add tests for BridgeFDB.Destination=
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 3 May 2019 04:08:55 +0000 (06:08 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 3 May 2019 04:12:04 +0000 (06:12 +0200)
test/test-network/conf/vxlan-test1.network [new file with mode: 0644]
test/test-network/conf/vxlan.network
test/test-network/systemd-networkd-tests.py

diff --git a/test/test-network/conf/vxlan-test1.network b/test/test-network/conf/vxlan-test1.network
new file mode 100644 (file)
index 0000000..3288087
--- /dev/null
@@ -0,0 +1,6 @@
+[Match]
+Name=test1
+
+[Network]
+IPv6AcceptRA=false
+VXLAN=vxlan99
index 80b4055..1b63785 100644 (file)
@@ -1,5 +1,17 @@
 [Match]
-Name=test1
+Name=vxlan99
 
 [Network]
-VXLAN=vxlan99
+IPv6AcceptRA=no
+
+[BridgeFDB]
+MACAddress=00:11:22:33:44:55
+Destination=10.0.0.5
+
+[BridgeFDB]
+MACAddress=00:11:22:33:44:66
+Destination=10.0.0.6
+
+[BridgeFDB]
+MACAddress=00:11:22:33:44:77
+Destination=10.0.0.7
index 806f860..73c0edb 100755 (executable)
@@ -331,6 +331,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
         'sit.network',
         'vti6.network',
         'vti.network',
+        'vxlan-test1.network',
         'vxlan.network']
 
     def setUp(self):
@@ -861,14 +862,15 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
         subprocess.call(['ip', 'fou', 'del', 'port', '55556'])
 
     def test_vxlan(self):
-        self.copy_unit_to_networkd_unit_path('25-vxlan.netdev', 'vxlan.network', '11-dummy.netdev')
-        self.start_networkd()
+        self.copy_unit_to_networkd_unit_path('25-vxlan.netdev', 'vxlan.network',
+                                             '11-dummy.netdev', 'vxlan-test1.network')
+        self.start_networkd(0)
 
-        self.assertTrue(self.link_exits('vxlan99'))
+        self.wait_online(['test1:degraded', 'vxlan99:degraded'])
 
         output = subprocess.check_output(['ip', '-d', 'link', 'show', 'vxlan99']).rstrip().decode('utf-8')
         print(output)
-        self.assertRegex(output, "999")
+        self.assertRegex(output, '999')
         self.assertRegex(output, '5555')
         self.assertRegex(output, 'l2miss')
         self.assertRegex(output, 'l3miss')
@@ -879,6 +881,12 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
         self.assertRegex(output, 'remcsumrx')
         self.assertRegex(output, 'gbp')
 
+        output = subprocess.check_output(['bridge', 'fdb', 'show', 'dev', 'vxlan99']).rstrip().decode('utf-8')
+        print(output)
+        self.assertRegex(output, '00:11:22:33:44:55 dst 10.0.0.5 self permanent')
+        self.assertRegex(output, '00:11:22:33:44:66 dst 10.0.0.6 self permanent')
+        self.assertRegex(output, '00:11:22:33:44:77 dst 10.0.0.7 self permanent')
+
     def test_macsec(self):
         self.copy_unit_to_networkd_unit_path('25-macsec.netdev', '25-macsec.network', '25-macsec.key',
                                              'macsec.network', '12-dummy.netdev')