【发布时间】:2019-04-20 00:08:09
【问题描述】:
我正在尝试在 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
我正在使用 iproute2 版本 iproute2-4.9.0-r0.0.x86_64.rpm 也支持 vrf。
但是当我尝试实例化 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
如何调试/解决这个问题?
【问题讨论】:
-
请出示相关代码。请说明遇到错误的位置。另请参阅How to create a Minimal, Complete, and Verifiable example。
标签: linux networking linux-kernel routing