Skip to content

routing virtualization v2

Denis V. Lunev containers netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest19 patches 1 replyIn review

Changes from v1 from the cover letter

- fixed spacing in the fib_rules.h
- improved patch description by the suggestion of Daniel Lezcano

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/19Add netns parameter to fib_rules_(un)register.include/net/fib_rules.h net/core/fib_rules.c net/decnet/dn_rules.c +2 more+9 -90 replies
2/19Pass fib_rules_ops into default_pref method.include/net/fib_rules.h net/core/fib_rules.c net/decnet/dn_rules.c +2 more+5 -50 replies
3/19Namespacing in the generic fib rules code.include/net/net_namespace.h net/core/fib_rules.c+58 -370 replies
4/19Add namespace to API for routing /proc entries creation.include/net/ip_fib.h net/ipv4/af_inet.c net/ipv4/fib_hash.c +1 more+19 -180 replies
5/19Check fib4_rules_init failure.include/net/ip_fib.h net/ipv4/fib_frontend.c net/ipv4/fib_rules.c+28 -60 replies
6/19Refactor fib initialization so it can handle multiple namespaces.include/net/ip_fib.h net/ipv4/af_inet.c net/ipv4/fib_frontend.c +3 more+92 -260 replies
7/19Unify access to the routing tables.include/net/ip_fib.h net/ipv4/fib_frontend.c+40 -280 replies
8/19Add netns parameter to fib_get_table/fib_new_table.include/net/ip_fib.h net/ipv4/fib_frontend.c net/ipv4/fib_hash.c +2 more+32 -320 replies
9/19Add netns parameter to inet_(dev_)add_type.drivers/s390/net/qeth_main.c include/net/route.h net/atm/clip.c +14 more+36 -340 replies
10/19Add netns to nl_info structure.include/net/netlink.h net/ipv4/fib_frontend.c net/ipv4/fib_semantics.c +2 more+25 -90 replies
11/19Show routing information from correct namespace (fib_hash.c)net/ipv4/fib_hash.c+11 -60 replies
12/19Show routing information from correct namespace (fib_trie.c)net/ipv4/fib_trie.c+32 -120 replies
13/19Namespacing IPv4 fib rules.include/net/netns/ipv4.h net/ipv4/fib_rules.c+29 -200 replies
14/19Place fib tables into netns.include/net/ip_fib.h include/net/netns/ipv4.h net/ipv4/fib_frontend.c+29 -170 replies
15/19Provide correct namespace for fibnl netlink socket.include/net/netns/ipv4.h net/ipv4/fib_frontend.c+18 -80 replies
16/19Correctly fill fib_config data.net/ipv4/fib_frontend.c+14 -130 replies
17/19Pass namespace through ip_rt_ioctl.include/net/route.h net/ipv4/af_inet.c net/ipv4/fib_frontend.c +1 more+7 -70 replies
18/19Replace init_net with the correct context in fib_frontend.cnet/ipv4/fib_frontend.c+4 -40 replies
19/19Enable routing configuration in non-initial namespace.net/ipv4/fib_frontend.c+0 -160 replies

Reviews trailers per patch

All 19 patches have a Reviewed-by or Acked-by.

PatchBenjamin TheryDaniel Lezcano
1/19A-b A-b
2/19A-b A-b
3/19A-b A-b
4/19A-b A-b
5/19A-b A-b
6/19A-b A-b
7/19A-b A-b
8/19A-b A-b
9/19A-b A-b
10/19A-b A-b
11/19A-b A-b
12/19A-b A-b
13/19A-b A-b
14/19A-b A-b
15/19A-b A-b
16/19A-b A-b
17/19A-b A-b
18/19A-b A-b
19/19A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH netns-2.6.25 0/19] routing virtualization v2

Hi, Dave!

This set adds namespace support for routing tables & rules manipulation in the different namespaces. So, one could create a namespace and setup IPv4 routing there how he wants.

After this patch user will have the ability to configure and observe its own isolated set of routing rules/tables, but they all will be unused. I.e. routing decisions inside the network stack are still made based on the init_net's rules. The reason for doing so is to have something self-consistent and not too huge :)

The sequence is the following:
- viritualize generic FIB rules operations
- change IPv4 FIB initialization sequence
- virtualize FIB tables access

After this, the 'ip' utility and the /proc interface will start working correctly inside a namespace, while the 'route' utility will not, because IP sockets currently cannot be created in non-init namespace.

Changes from v1:
- fixed spacing in the fib_rules.h
- improved patch description by the suggestion of Daniel Lezcano