Created
July 28, 2023 14:08
-
-
Save lathiat/7a3cace35bd28413822c362f76ad2f1a to your computer and use it in GitHub Desktop.
Returns the internal linux bridge flags, was written in order to inspect whether BROPT_MTU_SET_BY_USER was set for a given bridge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
root@mtutest:~# cat bridge_flags.py | |
#!/usr/local/bin/drgn -k | |
# Usage: ./bridge_flags.py bridge_interface_name | |
# | |
# Returns the internal bridge flags, was written in order to inspect whether | |
# BROPT_MTU_SET_BY_USER was set for a given bridge. | |
import sys | |
from drgn import NULL, Object, cast, container_of, execscript, offsetof, reinterpret, sizeof | |
from drgn.helpers.common import * | |
from drgn.helpers.linux import * | |
from drgn.helpers.linux import net | |
if len(sys.argv) != 2: | |
print(f"Usage: {sys.argv[0]} bridge_interface_name") | |
sys.exit(1) | |
bridge_intf = net.netdev_get_by_name(prog, sys.argv[1]) | |
bridge = Object(prog, "struct net_bridge", address=net.netdev_priv(bridge_intf)) | |
print(sys.argv[1]+":", decode_enum_type_flags(bridge.options, prog.type('enum net_bridge_opts'))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment