我正在尝试在Linux内核4.9.135版本中启用vrf,并在内核中启用了IP_MULTIPLE_TABLES
,NET_L3_MASTER_DEV
和NET_VRF
并构建了内核。
bash-4.3# zgrep "CONFIG_NET_VRF" /proc/config.gz
CONFIG_NET_VRF=m
bash-4.3# zgrep "IP_MULTIPLE_TABLES" /proc/config.gz
CONFIG_IP_MULTIPLE_TABLES=y
bash-4.3# zgrep "NET_L3_MASTER_DEV" /proc/config.gz
CONFIG_NET_L3_MASTER_DEV=y
我正在使用也支持vrf的iproute2版本iproute2-4.9.0-r0.0.x86_64.rpm。
但是,当我尝试实例化VRF设备并将其与表关联时,我得到了RTNETLINK答案:不支持该操作。
我检查了strace并查看了RTNETLINK消息:
sendmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"H\0\0\0\20\0\5\6(\20\271\\\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 72}], msg_controllen=0, msg_flags=0}, 0) = 72
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\\\0\0\0\2\0\0\0(\20\271\\\302i\0\0\241\377\377\377H\0\0\0\20\0\5\6(\20\271\\"..., 32768}], msg_controllen=0, msg_flags=0}, 0) = 92
write(2, "RTNETLINK answers: Operation not"..., 43RTNETLINK answers: Operation not supported
如何调试/解决此问题?
答案 0 :(得分:0)
您需要探究vrf内核模块
# modprobe vrf