Files
android_kernel_xiaomi_sm8450/include/uapi/linux
Eric W. Biederman 03c0566542 mpls: Netlink commands to add, remove, and dump routes
This change adds two new netlink routing attributes:
RTA_VIA and RTA_NEWDST.

RTA_VIA specifies the specifies the next machine to send a packet to
like RTA_GATEWAY.  RTA_VIA differs from RTA_GATEWAY in that it
includes the address family of the address of the next machine to send
a packet to.  Currently the MPLS code supports addresses in AF_INET,
AF_INET6 and AF_PACKET.  For AF_INET and AF_INET6 the destination mac
address is acquired from the neighbour table.  For AF_PACKET the
destination mac_address is specified in the netlink configuration.

I think raw destination mac address support with the family AF_PACKET
will prove useful.  There is MPLS-TP which is defined to operate
on machines that do not support internet packets of any flavor.  Further
seem to be corner cases where it can be useful.  At this point
I don't care much either way.

RTA_NEWDST specifies the destination address to forward the packet
with.  MPLS typically changes it's destination address at every hop.
For a swap operation RTA_NEWDST is specified with a length of one label.
For a push operation RTA_NEWDST is specified with two or more labels.
For a pop operation RTA_NEWDST is not specified or equivalently an emtpy
RTAN_NEWDST is specified.

Those new netlink attributes are used to implement handling of rt-netlink
RTM_NEWROUTE, RTM_DELROUTE, and RTM_GETROUTE messages, to maintain the
MPLS label table.

rtm_to_route_config parses a netlink RTM_NEWROUTE or RTM_DELROUTE message,
verify no unhandled attributes or unhandled values are present and sets
up the data structures for mpls_route_add and mpls_route_del.

I did my best to match up with the existing conventions with the caveats
that MPLS addresses are all destination-specific-addresses, and so
don't properly have a scope.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-04 00:26:06 -05:00
..
2014-10-20 10:30:15 +08:00
2014-09-23 23:15:46 -07:00
2015-02-02 18:09:42 +01:00
2014-10-14 13:08:29 +11:00
2013-04-26 16:08:16 +10:00
2014-07-01 10:48:05 -06:00
2014-03-20 14:55:18 +01:00
2014-11-19 14:48:02 -06:00
2014-12-08 12:55:57 +08:00
2012-10-16 18:49:15 -07:00
2014-08-08 15:57:31 -07:00
2014-05-14 10:04:34 +01:00
2013-12-11 12:57:55 -08:00
2013-08-13 15:10:22 -07:00
2014-12-16 11:19:42 -05:00
2014-12-22 16:12:36 -05:00
2015-01-05 22:44:46 -05:00
2015-02-09 16:59:03 +09:00
2014-12-02 13:52:53 -07:00
2015-02-17 14:34:51 -08:00
2014-08-08 15:57:31 -07:00
2013-11-27 11:03:38 -08:00
2014-03-04 13:51:06 -05:00
2015-01-20 13:51:06 +01:00
2014-12-13 12:42:52 -08:00
2013-02-27 19:10:22 -08:00
2015-02-02 18:46:51 -08:00
2013-04-19 14:57:57 -04:00
2012-11-16 10:15:35 -08:00
2014-03-21 14:21:13 -04:00
2015-01-21 19:21:30 +01:00
2015-02-07 18:43:16 +08:00
2014-12-10 17:41:10 -08:00
2014-12-09 14:10:41 +08:00
2013-03-22 16:19:59 -07:00
2014-04-26 12:13:24 -04:00
2015-02-10 12:38:14 -07:00
2013-05-02 13:40:15 +03:00
2014-12-09 12:06:31 +02:00
2014-12-09 12:05:24 +02:00
2013-12-11 09:25:20 -02:00