]> git.puffer.fish Git - matthieu/frr.git/commitdiff
tests: fix l3mdev config in bgp_l3vpn_to_bgp_vrf topotest
authorDavid Schweizer <dschweizer@opensourcerouting.org>
Mon, 5 Apr 2021 07:25:52 +0000 (09:25 +0200)
committerIgor Ryzhov <iryzhov@nfware.com>
Tue, 20 Apr 2021 09:14:21 +0000 (12:14 +0300)
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
tests/topotests/bgp_l3vpn_to_bgp_vrf/customize.py
tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_linux_vrf.py

index fb919f02d0dee13c8ff86a3b13f0d23d12b49c1f..3530141622078adbb9776021ecdbff3bd2a9f152 100644 (file)
@@ -84,6 +84,7 @@ from lib import topotest
 from lib.topogen import Topogen, TopoRouter, get_topogen
 from lib.topolog import logger
 from lib.ltemplate import ltemplateRtrCmd
+from lib.common_config import adjust_router_l3mdev
 
 # Required to instantiate the topology builder class.
 from mininet.topo import Topo
@@ -145,26 +146,12 @@ class ThisTestTopo(Topo):
         switch[1].add_link(tgen.gears["r3"], nodeif="r3-eth1")
 
 
-l3mdev_accept = 0
-
-
 def ltemplatePreRouterStartHook():
-    global l3mdev_accept
     cc = ltemplateRtrCmd()
     krel = platform.release()
     tgen = get_topogen()
     logger.info("pre router-start hook, kernel=" + krel)
 
-    if (
-        topotest.version_cmp(krel, "4.15") >= 0
-        and topotest.version_cmp(krel, "4.18") <= 0
-    ):
-        l3mdev_accept = 1
-
-    if topotest.version_cmp(krel, "5.0") >= 0:
-        l3mdev_accept = 1
-
-    logger.info("setting net.ipv4.tcp_l3mdev_accept={}".format(l3mdev_accept))
     # check for mpls
     if tgen.hasmpls != True:
         logger.info("MPLS not available, skipping setup")
@@ -187,10 +174,11 @@ def ltemplatePreRouterStartHook():
         "ip ru add oif {0}-cust1 table 10",
         "ip ru add iif {0}-cust1 table 10",
         "ip link set dev {0}-cust1 up",
-        "sysctl -w net.ipv4.tcp_l3mdev_accept={}".format(l3mdev_accept),
     ]
     for rtr in rtrs:
-        router = tgen.gears[rtr]
+        # adjust handling of VRF traffic
+        adjust_router_l3mdev(tgen, rtr)
+
         for cmd in cmds:
             cc.doCmd(tgen, rtr, cmd.format(rtr))
         cc.doCmd(tgen, rtr, "ip link set dev {0}-eth4 master {0}-cust1".format(rtr))
@@ -229,9 +217,11 @@ def ltemplatePreRouterStartHook():
         "ip ru add oif {0}-cust2 table 20",
         "ip ru add iif {0}-cust2 table 20",
         "ip link set dev {0}-cust2 up",
-        "sysctl -w net.ipv4.tcp_l3mdev_accept={}".format(l3mdev_accept),
     ]
     for rtr in rtrs:
+        # adjust handling of VRF traffic
+        adjust_router_l3mdev(tgen, rtr)
+
         for cmd in cmds:
             cc.doCmd(tgen, rtr, cmd.format(rtr))
         cc.doCmd(tgen, rtr, "ip link set dev {0}-eth0 master {0}-cust2".format(rtr))
index b552ea04068b27cbce4bae0b752960c26dd8e9e5..862de9407fe241dc142ca94ba9bd78c30b953e6b 100644 (file)
@@ -1,6 +1,7 @@
 from lutil import luCommand
-from customize import l3mdev_accept
+from common_config import kernel_requires_l3mdev_adjustment
 
+l3mdev_accept = kernel_requires_l3mdev_adjustment()
 l3mdev_rtrs = ["r1", "r3", "r4", "ce4"]
 for rtr in l3mdev_rtrs:
     luCommand(rtr, "sysctl net.ipv4.tcp_l3mdev_accept", " = \d*", "none", "")