最新的Linux内核4.1.4有MPLS数据路径支持,可以通过NETLINK套接字在内核中编程MPLS路由表。在socket.h中定义了一个新的地址族AF_MPLS。
我试着写了一些代码-
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
req.n.nlmsg_flags = NLM_F_REQUEST|NLM_F_CREATE;
req.n.nlmsg_type = RTM_NEWROUTE;
req.r.rtm_family = AF_MPLS;
req.r.rtm_table = RT_TABLE_MAIN;
req.r.rtm_protocol = RTPROT_BOOT;
req.r.rtm_scope = RT_SCOPE_UNIVERSE;
req.r.rtm_type = RTN_UNICAST;但是,我无法弄清楚如何在Netlink属性中添加MPLS标签。
请帮帮我。
发布于 2015-08-08 22:30:06
根据net/mpls/af_mpls.c:rtm_to_route_config()的说法,标签上应该有RTA_DST NLA。
请注意,函数中也有断言,它们非常严格。
https://stackoverflow.com/questions/31895326
复制相似问题