iproute2/ip
David Ahern 6a9783831c ip vrf: Handle VRF nesting in namespace
Since cgroups are not namespace aware, the directory heirarchy used by
ip vrf should account for network namespaces. In this case, change the
path from CGRP/BASE/vrf/NAME to CGRP/BASE/NETNS/vrf/NAME where CGRP is
the cgroup2 mount path, BASE in any base heirarchy inherited before VRF
is applied and NAME is the VRF name.

The intent is as follows: a user logs into the box into some namespace
with a name known to iproute2. Some other policy may have put the
process into a BASE heirarchy. From there the user executes a task in
a VRF and in doing so the task heirarchy becomes CGRP/BASE/NETNS/vrf/NAME.
The namespace level is omitted for the default namespace.

Reported-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
2017-02-17 15:33:24 -08:00
..
.gitignore Another .gitignore file. 2006-08-08 12:11:23 -07:00
Makefile Introduce ip vrf command 2016-12-13 10:20:16 -08:00
ifcfg Remove trailing whitespace 2006-12-05 10:10:22 -08:00
ip.c Introduce ip vrf command 2016-12-13 10:20:16 -08:00
ip6tunnel.c ip6tunnel: Align ipv6 tunnel key display with ipv4 2017-01-12 17:34:02 -08:00
ip_common.h ip netns: refactor netns_identify 2017-02-17 15:33:24 -08:00
ipaddress.c ip: vfinfo: remove code duplication for IFLA_VF_RSS_QUERY_EN 2016-12-21 15:56:39 -08:00
ipaddrlabel.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
ipfou.c fou: show usage even if the module is not available 2016-08-17 14:00:22 -07:00
ipila.c ila: show usage even if the module is not available 2016-08-17 14:00:28 -07:00
ipl2tp.c utils: make hex2mem available to all users 2017-01-17 08:45:22 -08:00
iplink.c bpf: add initial support for attaching xdp progs 2016-12-09 12:44:12 -08:00
iplink_bond.c lib/utils: introduce rt_addr_n2a_rta() 2016-03-27 10:37:35 -07:00
iplink_bond_slave.c ip: Use specific slave id 2016-09-22 16:39:55 -07:00
iplink_bridge.c iplink: bridge: remove unnecessary returns 2016-02-21 12:00:47 -08:00
iplink_bridge_slave.c bridge: add support for the multicast flood flag 2016-10-17 05:29:24 -07:00
iplink_can.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
iplink_geneve.c libnetlink: Introduce rta_getattr_be*() 2016-12-02 14:12:09 -08:00
iplink_hsr.c ip: HSR: Fix cut and paste error 2017-02-06 13:49:02 -08:00
iplink_ipoib.c ip: code cleanup 2016-03-21 11:52:19 -07:00
iplink_ipvlan.c ip: (ipvlan) introduce L3s mode 2016-09-20 09:50:45 -07:00
iplink_macvlan.c iproute2: macvlan: add "source" mode 2016-11-29 12:41:42 -08:00
iplink_vlan.c ip: code cleanup 2016-03-21 11:52:19 -07:00
iplink_vrf.c libnetlink: Add variant of rtnl_talk that does not display RTNETLINK answers error 2016-12-13 10:20:16 -08:00
iplink_vxlan.c libnetlink: Introduce rta_getattr_be*() 2016-12-02 14:12:09 -08:00
iplink_xdp.c bpf: add initial support for attaching xdp progs 2016-12-09 12:44:12 -08:00
ipmacsec.c macsec: Nr. of packets and octets for macsec tx stats were swapped 2016-11-29 13:22:12 -08:00
ipmaddr.c ip: fix igmp parsing when iface is long 2017-01-17 08:39:55 -08:00
ipmonitor.c iproute2: build nsid-name cache only for commands that need it 2016-10-09 18:56:47 -07:00
ipmroute.c ipmroute: add support for age dumping 2016-10-09 19:09:31 -07:00
ipneigh.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
ipnetconf.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
ipnetns.c ip netns: refactor netns_identify 2017-02-17 15:33:24 -08:00
ipntable.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
ipprefix.c lib/utils: introduce rt_addr_n2a_rta() 2016-03-27 10:37:35 -07:00
iproute.c ip route: error out on multiple via without nexthop keyword 2017-01-20 09:38:20 -08:00
iproute_lwtunnel.c lwtunnel: style cleanup 2016-12-12 15:37:00 -08:00
iproute_lwtunnel.h lwtunnel: Add encapsulation support to ip route 2015-10-16 16:13:22 -07:00
iprule.c ip: support UID range routing. 2016-11-29 12:26:37 -08:00
iptoken.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
iptunnel.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
iptuntap.c tuntap: Add name attribute to usage text 2016-09-08 14:31:33 -07:00
ipvrf.c ip vrf: Handle VRF nesting in namespace 2017-02-17 15:33:24 -08:00
ipxfrm.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
link_gre.c gre6: Support for fou encapsulation 2016-08-12 12:51:18 -07:00
link_gre6.c gre6: Support for fou encapsulation 2016-08-12 12:51:18 -07:00
link_ip6tnl.c iptnl: add support for collect_md flag in IPv4 and IPv6 tunnels 2016-09-21 16:36:24 -07:00
link_iptnl.c iptnl: add support for collect_md flag in IPv4 and IPv6 tunnels 2016-09-21 16:36:24 -07:00
link_veth.c ip: code cleanup 2016-03-21 11:52:19 -07:00
link_vti.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
link_vti6.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -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 ip, realms: also allow to pass in raw realms value 2015-10-22 23:40:51 -07:00
rtmon.c ip: code cleanup 2016-03-21 11:52:19 -07: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 libgenl: introduce genl_init_handle 2016-08-17 13:59:21 -07:00
tunnel.c ip: code cleanup 2016-03-21 11:52:19 -07:00
tunnel.h ip{,6}tunnel: have a shared stats parser/printer 2015-12-18 11:46:21 -08:00
xdp.h bpf: add initial support for attaching xdp progs 2016-12-09 12:44:12 -08:00
xfrm.h Fix FSF address in file headers 2013-12-06 15:05:07 -08:00
xfrm_monitor.c utils: make rt_addr_n2a() non-reentrant by default 2016-03-27 10:37:34 -07:00
xfrm_policy.c ip/xfrm: Fix deleteall when having many policies installed 2017-01-20 09:21:02 -08:00
xfrm_state.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00