iproute2/ip
Eric W. Biederman dacc5d4197 add basic mpls support to iproute
- Pull in the uapi mpls.h
- Update rtnetlink.h to include the mpls rtnetlink notification multicast group.
- Define AF_MPLS in utils.h if it is not defined from elsewhere
  as is done with AF_DECnet

The address syntax for multiple mpls labels is a complete invention.
When I looked there seemed to be no wide spread convention for talking
about an mpls label stack in text for.  Sometimes people did:
"{ Label1, Label2, Label3 }", sometimes people would do:
"[ label3, label2, label1 ]", and most of the time label
stacks were not explicitly shown at all.

The syntax I wound up using, so it would not have spaces and so it
would visually distinct from other kinds of addresses is.

label1/label2/label3 Where label1 is the label at the top of the label
stack and label3 is the label at the bottom on the label stack.

When there is a single label this matches what seems to be convention
with other tools.  Just print out the numeric value of the mpls label.

The netlink protocol for labels uses the on the wire format for a
label stack. The ttl and traffic class are expected to be 0.  Using
the on the wire format is common and what happens with other address
types. BGP when passing label stacks also uses this technique with the
exception that the ttl byte is not included making each label in a BGP
label stack 3 bytes instead of 4.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2015-03-24 15:45:23 -07:00
..
.gitignore Another .gitignore file. 2006-08-08 12:11:23 -07:00
Makefile ip netns: Fix rtnl error while print netns list 2015-03-15 12:17:34 -07:00
ifcfg Remove trailing whitespace 2006-12-05 10:10:22 -08:00
ip.c add basic mpls support to iproute 2015-03-24 15:45:23 -07:00
ip6tunnel.c iproute2: ip6_tunnel mode bugfixes: any,vti6 2014-11-02 11:48:43 -08:00
ip_common.h netns: Rename & move get_netns_fd to lib 2015-01-13 17:34:47 -08:00
ipaddress.c ip: enable configuring multicast group autojoin 2015-03-24 15:45:23 -07:00
ipaddrlabel.c ip: Make uniform the use of synonyms list, show and lst 2015-03-24 14:49:21 -07:00
ipfou.c ip fou: Support to configure foo-over-udp RX 2014-11-06 16:17:34 -08:00
ipl2tp.c iproute2: add l2spec_type param to l2tp add session 2013-03-27 13:20:58 -07:00
iplink.c iplink: add support of IFLA_LINK_NETNSID attribute 2015-02-21 16:54:53 -08:00
iplink_bond.c add a source addres length parameter to rt_addr_n2a 2015-03-24 15:45:23 -07:00
iplink_bond_slave.c iproute2: allow to change slave options via type_slave 2014-09-28 16:05:24 -07:00
iplink_bridge.c add bridge master device support 2014-09-28 16:33:29 -07:00
iplink_bridge_slave.c add bridge_slave device support 2014-09-28 16:31:04 -07:00
iplink_can.c can: Add support for CAN FD non-ISO feature 2015-02-05 10:35:24 -08:00
iplink_hsr.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
iplink_ipoib.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
iplink_ipvlan.c ip link: Add ipvlan support to the iproute2/ip util 2014-12-03 09:37:37 -08:00
iplink_macvlan.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
iplink_macvtap.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
iplink_vlan.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
iplink_vxlan.c vxlan: Group policy extension 2015-02-05 10:31:43 -08:00
ipmaddr.c ipmaddr: add whitespace around = 2013-03-14 13:44:25 -07:00
ipmonitor.c add basic mpls support to iproute 2015-03-24 15:45:23 -07:00
ipmroute.c add a source addres length parameter to rt_addr_n2a 2015-03-24 15:45:23 -07:00
ipneigh.c neighbor: check return values 2015-01-13 18:07:23 -08:00
ipnetconf.c ip monitor: Allow to filter events by dev 2014-11-29 11:15:40 -08:00
ipnetns.c ip netns: Fix rtnl error while print netns list 2015-03-15 12:17:34 -07:00
ipntable.c kill spaces before tabs 2014-02-17 10:56:31 -08:00
ipprefix.c add a source addres length parameter to rt_addr_n2a 2015-03-24 15:45:23 -07:00
iproute.c add basic mpls support to iproute 2015-03-24 15:45:23 -07:00
iprule.c add a source addres length parameter to rt_addr_n2a 2015-03-24 15:45:23 -07:00
iptoken.c ip: Make uniform the use of synonyms list, show and lst 2015-03-24 14:49:21 -07:00
iptunnel.c misc whitespace cleanup 2015-03-24 15:45:23 -07:00
iptuntap.c ip tuntap: Added missing commands in usage 2014-09-28 16:19:31 -07:00
ipxfrm.c add a source addres length parameter to rt_addr_n2a 2015-03-24 15:45:23 -07:00
link_gre.c ip link: Add support for remote checksum offload to IP tunnels 2015-02-05 10:50:02 -08:00
link_gre6.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
link_ip6tnl.c add a source addres length parameter to rt_addr_n2a 2015-03-24 15:45:23 -07:00
link_iptnl.c ip link: Add support for remote checksum offload to IP tunnels 2015-02-05 10:50:02 -08:00
link_veth.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
link_vti.c ip link: Shortify printing the usage of link type 2014-10-09 08:29:47 -07:00
link_vti6.c iproute2: VTI6 support for ip -6 link command. 2014-09-28 16:23:12 -07:00
routef ip/routef lifesaver 2007-07-10 18:29:20 -07:00
routel (Logical change 1.3) 2004-04-15 20:56:59 +00:00
rtm_map.c (Logical change 1.3) 2004-04-15 20:56:59 +00:00
rtmon.c Add define for nlmsg_types with timestamp 2015-01-13 17:34:47 -08:00
rtpr (Logical change 1.3) 2004-04-15 20:56:59 +00:00
static-syms.c Fix build when shared libraries are disabled 2013-03-13 08:29:59 -07:00
tcp_metrics.c ip: support of usec rtt in tcp_metrics 2014-09-28 15:58:36 -07:00
tunnel.c tunnel: decode ESP tunnel type 2014-12-03 19:08:41 -08:00
tunnel.h Fix FSF address in file headers 2013-12-06 15:05:07 -08:00
xfrm.h Fix FSF address in file headers 2013-12-06 15:05:07 -08:00
xfrm_monitor.c add a source addres length parameter to rt_addr_n2a 2015-03-24 15:45:23 -07:00
xfrm_policy.c kill spaces before tabs 2014-02-17 10:56:31 -08:00
xfrm_state.c xfrm: add support of ESN and anti-replay window 2014-10-29 22:50:48 -07:00