crash> net.gen init_net
gen = 0xffff880c60c4ff80
crash> net_generic 0xffff880c60c4ff80
struct net_generic {
{
s = {
len = 16,
rcu = {
next = 0x0,
func = 0x0
}
},
ptr = 0xffff880c60c4ff80
}
}
crash> mod -s vxlan
MODULE NAME SIZE OBJECT FILE
ffffffffa099b5c0 vxlan 45056 /lib/modules/4.10.2/kernel/drivers/net/vxlan.ko
crash> vxlan_net_id
vxlan_net_id = $11 = 15
crash> rd 0xffff880c60c4ff80 16
ffff880c60c4ff80: 0000000000000010 0000000000000000 ................
ffff880c60c4ff90: 0000000000000000 ffff8806fc588070 ........p.X.....
ffff880c60c4ffa0: ffff88065bd4fc00 ffff88065d205bb0 ...[.....[ ]....
ffff880c60c4ffb0: ffff8806609b8f00 ffff88065c2fd800 ...`....../\....
ffff880c60c4ffc0: ffff8806fc75b080 ffff880c4e0197d8 ..u........N....
ffff880c60c4ffd0: ffff88065d3f7e28 ffff880c473bbd10 (~?]......;G....
ffff880c60c4ffe0: ffff88065effa590 ffff880633581600 ...^......X3....
ffff880c60c4fff0: ffff8806335815c0 ffff880c61315000 ..X3.....P1a....
crash> vxlan_net ffff880c61315000
vxlan_list = {
next = 0xffff880c44d50910,
prev = 0xffff880c44d50910
},
...
}, {
first = 0xffff880c129ac000
}, {
...
crash> vxlan_sock 0xffff880c129ac000
struct vxlan_sock {
hlist = {
next = 0xffff880c12a08000,
pprev = 0xffff880c613151f0
},
sock = 0xffff880c2b274380,
vni_list = {{
first = 0xffff880c44d50900
}, {
first = 0x0
...
refcnt = {
counter = 1
},
flags = 8448
}
crash> eval 8448
hexadecimal: 2100
decimal: 8448
octal: 20400
binary: 0000000000000000000000000000000000000000000000000010000100000000
#define VXLAN_F_UDP_ZERO_CSUM6_RX 0x100
#define VXLAN_F_COLLECT_METADATA 0x2000
crash> net
NET_DEVICE NAME IP ADDRESS(ES)
ffff880c66ca6000 lo 127.0.0.1
ffff88065ec1c000 em1 10.200.0.168
ffff88065f0f0000 em2
ffff880650e50000 p2p1 1.1.1.18
ffff880651a30000 p2p2
ffff880c545f0000 p7p1
ffff880c53e80000 p7p2
ffff88017c2ee000 ib0
ffff8806304ee000 ib1
ffff88065c624000 virbr0 192.168.122.1
ffff880623a9c000 virbr0-nic
ffff8806204af000 ovs-system
ffff8806204e1000 br0
ffff880c612e7000 ovsbr
ffff88061eee4000 vnet0
ffff880662db4000 vnet1
ffff88061ecd8000 vnet2
ffff88061ec80000 vnet3
ffff880c44d50000 vxlan_sys_4789
crash> net_device -o
SIZE: 2304
crash> eval 2304
hexadecimal: 900
decimal: 2304
octal: 4400
binary: 0000000000000000000000000000000000000000000000000000100100000000
crash> vxlan_dev ffff880c44d50900
struct vxlan_dev {
hlist = {
next = 0x0,
pprev = 0xffff880c129ac018
},
next = {
next = 0xffff880c61315000,
prev = 0xffff880c61315000
},
vn4_sock = 0xffff880c129ac000,
vn6_sock = 0xffff880c12a08000,
dev = 0xffff880c44d50000,
net = 0xffffffff81d1f880 <init_net>,
default_dst = {
remote_ip = {
sin = {
sin_family = 2,
sin_port = 0,
sin_addr = {
s_addr = 0
},
__pad = "\000\000\000\000\000\000\000"
},
sin6 = {
sin6_family = 2,
sin6_port = 0,
sin6_flowinfo = 0,
sin6_addr = {
in6_u = {
u6_addr8 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000",
u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
u6_addr32 = {0, 0, 0, 0}
}
},
sin6_scope_id = 0
},
sa = {
sa_family = 2,
sa_data = "\000\000\000\000\000\000\000\000\000\000\000\000\000"
}
},
remote_port = 0,
remote_vni = 0,
remote_ifindex = 0,
list = {
next = 0x0,
prev = 0x0
},
rcu = {
next = 0x0,
func = 0x0
},
dst_cache = {
cache = 0x0,
reset_ts = 0
}
},
flags = 8448,
age_timer = {
entry = {
next = 0x0,
pprev = 0xffff880c67151970
},
expires = 4373118824,
function = 0xffffffffa0994920 <vxlan_cleanup>,
data = 18446612185008638208,
flags = 805830667,
start_pid = -1,
start_site = 0x0,
start_comm = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
},
...从不同的数据结构中得到了同样的值。
ffff880c61315000 (vxlan_net)
ffff880c129ac000 (vxlan_sock)
本文记录了一次针对VXLAN网络配置与故障排查的过程,包括了VXLAN网络ID的确认、网络设备的详细信息及相关的数据结构分析。通过这些信息,可以深入理解VXLAN的工作原理及其实现细节。
3709

被折叠的 条评论
为什么被折叠?



