[PATCH v2 11/11] Add support for mpls encap to libnl commands
David Ahern
dsahern at gmail.com
Thu Aug 17 15:59:38 PDT 2017
Add support for MPLS lwtunnel encapsulation in nexthop specification.
Specifically, the mpls keyword is used to specify the label stack to
be applied to the route.
Signed-off-by: David Ahern <dsahern at gmail.com>
---
src/lib/route.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/lib/route.c b/src/lib/route.c
index 2eac0a05c97e..244848b80f85 100644
--- a/src/lib/route.c
+++ b/src/lib/route.c
@@ -142,12 +142,14 @@ void nl_cli_route_parse_nexthop(struct rtnl_route *route, char *subopts,
NH_VIA,
NH_WEIGHT,
NH_AS,
+ NH_MPLS,
};
static char *const tokens[] = {
"dev",
"via",
"weight",
"as",
+ "mpls",
NULL,
};
struct rtnl_nexthop *nh;
@@ -194,6 +196,12 @@ void nl_cli_route_parse_nexthop(struct rtnl_route *route, char *subopts,
nl_addr_put(addr);
break;
+ case NH_MPLS:
+ addr = nl_cli_addr_parse(arg, AF_MPLS);
+ rtnl_route_nh_encap_mpls(nh, addr, 0);
+ nl_addr_put(addr);
+ break;
+
case NH_WEIGHT:
lval = strtoul(arg, &endptr, 0);
if (endptr == arg)
--
2.1.4
More information about the libnl
mailing list