From f2d729056e6915cb393b16c354892f39247c512c Mon Sep 17 00:00:00 2001 From: David Schweizer Date: Mon, 5 Apr 2021 09:25:52 +0200 Subject: [PATCH] tests: fix l3mdev config in bgp_l3vpn_to_bgp_vrf topotest Signed-off-by: David Schweizer --- .../bgp_l3vpn_to_bgp_vrf/customize.py | 24 ++++++------------- .../scripts/check_linux_vrf.py | 3 ++- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/tests/topotests/bgp_l3vpn_to_bgp_vrf/customize.py b/tests/topotests/bgp_l3vpn_to_bgp_vrf/customize.py index 1c3c51f68e..5d97537bd0 100644 --- a/tests/topotests/bgp_l3vpn_to_bgp_vrf/customize.py +++ b/tests/topotests/bgp_l3vpn_to_bgp_vrf/customize.py @@ -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)) diff --git a/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_linux_vrf.py b/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_linux_vrf.py index 7c154ecd15..650ba20b8c 100644 --- a/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_linux_vrf.py +++ b/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_linux_vrf.py @@ -1,6 +1,7 @@ from lib.lutil import luCommand -from customize import l3mdev_accept +from lib.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", "")