ip: route: Add IPv6 flow label support
Allow specifying an IPv6 flow label when performing a route lookup. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Guillaume Nault <gnault@redhat.com> Signed-off-by: David Ahern <dsahern@kernel.org>
This commit is contained in:
committed by
David Ahern
parent
3f8c7e7c8b
commit
35ae138e2c
10
ip/iproute.c
10
ip/iproute.c
@@ -67,7 +67,7 @@ static void usage(void)
|
||||
" [ mark NUMBER ] [ vrf NAME ]\n"
|
||||
" [ uid NUMBER ] [ ipproto PROTOCOL ]\n"
|
||||
" [ sport NUMBER ] [ dport NUMBER ]\n"
|
||||
" [ as ADDRESS ]\n"
|
||||
" [ as ADDRESS ] [ flowlabel FLOWLABEL ]\n"
|
||||
" ip route { add | del | change | append | replace } ROUTE\n"
|
||||
"SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ]\n"
|
||||
" [ table TABLE_ID ] [ vrf NAME ] [ proto RTPROTO ]\n"
|
||||
@@ -2129,6 +2129,14 @@ static int iproute_get(int argc, char **argv)
|
||||
invarg("Invalid \"ipproto\" value\n",
|
||||
*argv);
|
||||
addattr8(&req.n, sizeof(req), RTA_IP_PROTO, ipproto);
|
||||
} else if (strcmp(*argv, "flowlabel") == 0) {
|
||||
__be32 flowlabel;
|
||||
|
||||
NEXT_ARG();
|
||||
if (get_be32(&flowlabel, *argv, 0))
|
||||
invarg("invalid flowlabel", *argv);
|
||||
addattr32(&req.n, sizeof(req), RTA_FLOWLABEL,
|
||||
flowlabel);
|
||||
} else {
|
||||
inet_prefix addr;
|
||||
|
||||
|
||||
@@ -47,7 +47,9 @@ ip-route \- routing table management
|
||||
.B dport
|
||||
.IR NUMBER " ] ["
|
||||
.B as
|
||||
.IR ADDRESS " ]"
|
||||
.IR ADDRESS " ] ["
|
||||
.B flowlabel
|
||||
.IR FLOWLABEL " ]
|
||||
|
||||
.ti -8
|
||||
.BR "ip route" " { " add " | " del " | " change " | " append " | "\
|
||||
@@ -1316,6 +1318,10 @@ was given, relookup the route with the source set to the preferred
|
||||
address received from the first lookup.
|
||||
If policy routing is used, it may be a different route.
|
||||
|
||||
.TP
|
||||
.BI flowlabel " FLOWLABEL"
|
||||
ipv6 flow label as seen by the route lookup
|
||||
|
||||
.P
|
||||
Note that this operation is not equivalent to
|
||||
.BR "ip route show" .
|
||||
|
||||
Reference in New Issue
Block a user