mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-02 20:27:14 +00:00
tests: add l3mdev config helpers for VRF topotests
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
This commit is contained in:
parent
a61086d29c
commit
3d762f26a6
@ -4372,3 +4372,53 @@ def verify_ip_nht(tgen, input_dict):
|
||||
|
||||
logger.debug("Exiting lib API: verify_ip_nht()")
|
||||
return False
|
||||
|
||||
|
||||
def kernel_requires_l3mdev_adjustment():
|
||||
"""
|
||||
Checks if the L3 master device needs to be adjusted to handle VRF traffic
|
||||
based on kernel version.
|
||||
|
||||
Returns
|
||||
-------
|
||||
1 or 0
|
||||
"""
|
||||
|
||||
if version_cmp(platform.release(), "4.15") >= 0:
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
def adjust_router_l3mdev(tgen, router):
|
||||
"""
|
||||
Adjusts a routers L3 master device to handle VRF traffic depending on kernel
|
||||
version.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
* `tgen` : tgen object
|
||||
* `router` : router id to be configured.
|
||||
|
||||
Returns
|
||||
-------
|
||||
True
|
||||
"""
|
||||
|
||||
l3mdev_accept = kernel_requires_l3mdev_adjustment()
|
||||
|
||||
logger.info(
|
||||
"router {0}: setting net.ipv4.tcp_l3mdev_accept={1}".format(
|
||||
router, l3mdev_accept
|
||||
)
|
||||
)
|
||||
|
||||
output = tgen.net[router].cmd("sysctl -n net.ipv4.tcp_l3mdev_accept")
|
||||
logger.info(
|
||||
"router {0}: existing tcp_l3mdev_accept was {1}".format(router, output)
|
||||
)
|
||||
|
||||
tgen.net[router].cmd(
|
||||
"sysctl -w net.ipv4.tcp_l3mdev_accept={}".format(l3mdev_accept)
|
||||
)
|
||||
|
||||
return True
|
||||
|
Loading…
Reference in New Issue
Block a user