c - 如何在 Linux 中使用 c-api 查找 VRF 设备的路由表 ID
问题描述
我想找到 VRF 设备和路由表 ID 之间的关联。
VRF 设备“vrf-blue”是已知的,但结构 rtmsg 需要表 ID“10”。 rtnetlink
# ip link add vrf-blue type vrf table 10
struct rtmsg {
unsigned char rtm_family;
unsigned char rtm_dst_len;
unsigned char rtm_src_len;
unsigned char rtm_tos;
unsigned char rtm_table; /* Routing table id */
unsigned char rtm_protocol; /* Routing protocol; see below */
unsigned char rtm_scope; /* See below */
unsigned char rtm_type; /* See below */
unsigned rtm_flags;
};
解决方案
使用详细的输出选项:
ip -d link show type vrf
示例输出:
14: vrf5: <NOARP,MASTER> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 5a:32:3b:9f:e9:ef brd ff:ff:ff:ff:ff:ff promiscuity 0
vrf table 327 addrgenmode eui64 <----------------table id is 327
15: vrf6: <NOARP,MASTER> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 76:8f:8f:dc:13:8f brd ff:ff:ff:ff:ff:ff promiscuity 0
vrf table 328 addrgenmode eui64
推荐阅读
- flutter - 如何配置 VS Code 以在 URL 中使用查询参数启动 Flutter Web 应用程序?
- python - Python,第一个列表索引 - 前一个列表索引然后打印
- javascript - 函数可以包装一个类并知道何时调用最后一个方法吗?
- c# - 根据值更改 WPF DataGrid 列上的图像
- javascript - 访问 WordPress 中两个短代码之间的会话变量
- python - 在 cvxpy 中指定约束时违反了 DCP 要求,可能需要重新考虑问题的整个表述
- android - Kotlin:为什么转换为字符串后 ByteArray 的大小不同?
- if-statement - 纯 Prolog Peano List 交集
- .net-core - 在代理上使用什么 .Net Core 版本
- reactjs - Redux-Saga 不使用 redux-saga-firebase 等待操作完成