]> git.proxmox.com Git - mirror_frr.git/commit - lib/zclient.c
lib: increase vrf_id from 16 bit to 32 bit identifier
authorPhilippe Guibert <philippe.guibert@6wind.com>
Thu, 14 Dec 2017 15:01:36 +0000 (16:01 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Mon, 22 Jan 2018 12:52:17 +0000 (13:52 +0100)
commita9ff90c41b0a95195d19d451ee83eb460e1599d0
tree3c8524c37dbffa405b101c31e2c476188d565974
parent4ff9eb721d5b089a86070f03282c3d0843194504
lib: increase vrf_id from 16 bit to 32 bit  identifier

This is a preparatory work for configuring vrf/frr over netns
vrf structure is being changed to 32 bit, and the VRF will have the
possibility to have a backend made up of NETNS.

Let's put some history.
Initially the 32 bit was because one wanted to map on vrf_id both the
VRFLITE and the NSID.
Initially, one would have liked to make zebra configure at the same time
both vrf lite and vrf from netns in a flat way. From the show
running perspective, one would have had both kind of vrfs, thatone
would configure on the same way.
however, it leads to inconsistencies in concepts, because it mixes vrf
vrf with vrf, and vrf is not always mapped with netns.
For instance, logical-router could also be used with netns. In that
case, it would not be possible to map vrf with netns.
There was an other reason why 32 bit is proposed. this is because
some systems handle NSID to 32 bits. As vrf lite exists only on
Linux, there are other systems that would like to use an other vrf
backend than vrf lite. The netns backend for vrf will be used for that
too. for instance, for windows or freebsd, some similar
netns concept exists; so it will be easier to reuse netns
backend for vrf, than reusing vrflite backend for vrf.

This commit is here to extend vrf_id to 32 bits. Following commits in a
second step will help in enable a VRF backend.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
lib/vrf.c
lib/vrf.h
lib/zclient.c
lib/zclient.h
lib/zebra.h
zebra/zebra_ptm.c
zebra/zserv.c