[quagga-dev 16456] [PATCH 12/23] bgpd: add autogenerated files

2016-12-02 Thread Philippe Guibert
<equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp.bcapnp.c | 1220 + bgpd/bgp.bcapnp.h | 56 +++ bgpd/bgpd.ndef.hi | 15 + bgpd/bgpd.ndef.i | 791 +

[quagga-dev 16450] [PATCH 17/23] bgpd: support for max_mpath vrf field configuration

2016-12-02 Thread Philippe Guibert
This commit enhances the ability to configure from capnproto the maximum path field per vrf. The ability to configure multipath for an afi/safi is also made possible. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp.bcapnp.

[quagga-dev 16443] [PATCH 07/23] lib: add basic capn config access protocol

2016-12-02 Thread Philippe Guibert
David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/.gitignore | 2 + lib/Makefile.am | 10 +- lib/memtypes.c | 1 + lib/qzc.c | 372 lib

[quagga-dev 16454] [PATCH 22/23] bgpd: add a notification message on received bgp notifications

2016-12-02 Thread Philippe Guibert
An handler is added to signify that a remote notification has been received, meaning that local BGP speaker should be shutdown. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_debug.c | 11 +++ bgpd/bgp_zmq.c | 9 + bgpd/bgpd.h

[quagga-dev 16453] [PATCH 21/23] bgpd: add capnproto support for bgp update-source

2016-12-02 Thread Philippe Guibert
This commit handles the case where an incoming updateSource IP address is received for setting as bgp update-source IP address. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp.bcapnp.c | 54 +++--- 1 file chang

[quagga-dev 16452] [PATCH 20/23] bgpd: add vty header under bgpd.h header file

2016-12-02 Thread Philippe Guibert
Because some warnings tell that vty structure is not known, it is advised to self-content the header so that vty structure is known. Smooth alternative would have been to declare structure name on top of bgpd.h. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgpd

[quagga-dev 16455] [PATCH 23/23] bgpd: set restart_time from capnproto API

2016-12-02 Thread Philippe Guibert
The graceful restart time is configurable by using capnproto API Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp.bcapnp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bgpd/bgp.bcapnp.c b/bgpd/bgp.bcapnp.c index 1667033b823f..acdc473a2f7c

[quagga-dev 16438] [PATCH 04/23] *: force the linker to not check for unresolved symbols at link

2016-12-02 Thread Philippe Guibert
without having to install zmq. It also adapts vtysh scripting, as the capnproto and zeromq may be needed, the compilation flags is added. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/Makefile.am| 2 +- isisd/Makefile.am | 2 +- ospf6d/Makefile.am

[quagga-dev 16446] [PATCH 10/23] bgpd: enable use of capn/zmq interface

2016-12-02 Thread Philippe Guibert
e node registrations are defined. This patch introduces also bgp code modifications to handle peer creation, configure specific bgp fields. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/.gitigno

[quagga-dev 16451] [PATCH 19/23] bgpd: declare header where FILTER_MAX is defined

2016-12-02 Thread Philippe Guibert
Add include header filter.h file, because bgpd.h defines structures with FILTER_MAX as define. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgpd.h | 1 + 1 file changed, 1 insertion(+) diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index ad6a6652784e..ba870a025ffb

[quagga-dev 16448] [PATCH 16/23] bgpd: enable iteration of routes in VRF

2016-12-02 Thread Philippe Guibert
query will response with the associated next element. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp.bcapnp.c | 23 +++--- bgpd/bgp.bcapnp.h | 6 - bgpd/bgp.capnp| 13 ++ bgpd

[quagga-dev 16441] [PATCH 06/23] lib: capnp files are copied

2016-12-02 Thread Philippe Guibert
This patch integrates c files derived from qzc.capnp scheme file. This C version is provided an needs to be syncronised with the associated qzc.capnp file. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/qzc.capnp.c

[quagga-dev 16444] [PATCH 13/23] bgpd: sanity checks around capnproto exchange

2016-12-02 Thread Philippe Guibert
This commit contains some modifications on supposed to be generated files, as the default files may contain some non initialised variables, it should lead to erratic behaviour on some circumstances. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp.bcapnp.

[quagga-dev 16442] [PATCH 11/23] bgpd: add BGP configuration file with and without debugging

2016-12-02 Thread Philippe Guibert
This commit brings default bgp config files that can be used, in order to get default debugging setup, or not. There is no configuration inside. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/Makefile.am | 2 +- bgpd/bgpd.conf.sample3 | 7 +++

[quagga-dev 16436] [PATCH 03/23] tests: ZeroMQ code

2016-12-02 Thread Philippe Guibert
8eb168) ACK 2016/11/02 08:47:40 NONE: more data: (0)0 Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- tests/.gitignore | 1 + tests/Makefile.am | 8 ++- tests/test

[quagga-dev 16439] [PATCH 08/23] lib: qzc debug log are conditioned with a debug variable

2016-12-02 Thread Philippe Guibert
This variable can be set by compilation, if there is a need to monitor qzc exchanges. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/qzc.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/qzc.c b/lib/qzc.c index 358b7e419eef..7425743f8cea

[quagga-dev 16437] [PATCH 05/23] tests: update makefile to link with zmq files

2016-12-02 Thread Philippe Guibert
The introduction of ZMQ library has led to automatic linking with all other daemons and test programs. This modification is taking into account the link with test programs. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- tests/Makefile.a

[quagga-dev 16433] [PATCH 00/23] Quagga CapnProto API

2016-12-02 Thread Philippe Guibert
Hi all, This set of patches contains adaptations to BGP daemon, to bring a new API of management, based on capnproto protocol. The API implementation relies on capnproto protocol for data serialisation, since it is able to receive and send simple and complex data structures. The emission

[quagga-dev 16440] [PATCH 09/23] bgpd: add capnproto information on doc file related to implementation

2016-12-02 Thread Philippe Guibert
Some information is appended to bgp implementation to explain about newly added files related to capnproto. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/IMPLEMENTATION.txt | 18 ++ 1 file changed, 18 insertions(+) diff --git a/bgpd/IMPLEMENTATION

[quagga-dev 16434] [PATCH 01/23] configure: add with-zeromq and with-ccapnproto configuration parameter

2016-12-02 Thread Philippe Guibert
Those config parameters permit usage of zeromq library and capnproto library. Those two config parameters are necessary in order to use capnproto configuration interface that will be needed by BGP. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe G

[quagga-dev 16431] [PATCH 07/23] lib: add basic capn config access protocol

2016-12-02 Thread Philippe Guibert
David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/.gitignore | 2 + lib/Makefile.am | 10 +- lib/memtypes.c | 1 + lib/qzc.c | 372 lib

[quagga-dev 16432] [PATCH 10/23] bgpd: enable use of capn/zmq interface

2016-12-02 Thread Philippe Guibert
e node registrations are defined. This patch introduces also bgp code modifications to handle peer creation, configure specific bgp fields. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/.gitigno

[quagga-dev 16430] [PATCH 06/23] lib: capnp files are copied

2016-12-02 Thread Philippe Guibert
This patch integrates c files derived from qzc.capnp scheme file. This C version is provided an needs to be syncronised with the associated qzc.capnp file. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/qzc.capnp.c

[quagga-dev 16425] [PATCH 03/23] tests: ZeroMQ code

2016-12-02 Thread Philippe Guibert
8eb168) ACK 2016/11/02 08:47:40 NONE: more data: (0)0 Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- tests/.gitignore | 1 + tests/Makefile.am | 8 ++- tests/test

[quagga-dev 16423] [PATCH 01/23] configure: add with-zeromq and with-ccapnproto configuration parameter

2016-12-02 Thread Philippe Guibert
Those config parameters permit usage of zeromq library and capnproto library. Those two config parameters are necessary in order to use capnproto configuration interface that will be needed by BGP. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe G

[quagga-dev 16422] [PATCH 00/23] Quagga CapnProto API

2016-12-02 Thread Philippe Guibert
Hi all, This set of patches contains adaptations to BGP daemon, to bring a new API of management, based on capnproto protocol. The API implementation relies on capnproto protocol for data serialisation, since it is able to receive and send simple and complex data structures. The emission

[quagga-dev 16426] [PATCH 05/23] tests: update makefile to link with zmq files

2016-12-02 Thread Philippe Guibert
The introduction of ZMQ library has led to automatic linking with all other daemons and test programs. This modification is taking into account the link with test programs. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- tests/Makefile.a

[quagga-dev 16429] [PATCH 09/23] bgpd: add capnproto information on doc file related to implementation

2016-12-02 Thread Philippe Guibert
Some information is appended to bgp implementation to explain about newly added files related to capnproto. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/IMPLEMENTATION.txt | 18 ++ 1 file changed, 18 insertions(+) diff --git a/bgpd/IMPLEMENTATION

[quagga-dev 16428] [PATCH 08/23] lib: qzc debug log are conditioned with a debug variable

2016-12-02 Thread Philippe Guibert
This variable can be set by compilation, if there is a need to monitor qzc exchanges. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/qzc.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/qzc.c b/lib/qzc.c index 358b7e419eef..7425743f8cea

[quagga-dev 16427] [PATCH 04/23] *: force the linker to not check for unresolved symbols at link

2016-12-02 Thread Philippe Guibert
without having to install zmq. It also adapts vtysh scripting, as the capnproto and zeromq may be needed, the compilation flags is added. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/Makefile.am| 2 +- isisd/Makefile.am | 2 +- ospf6d/Makefile.am

[quagga-dev 16424] [PATCH 02/23] lib: ZeroMQ read event

2016-12-02 Thread Philippe Guibert
From: David Lamparter <equi...@opensourcerouting.org> This commit introduces 2 new files, and introduces the compilation flags for compiling with zeromq and capnproto dependencies. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert &l

[quagga-dev 16419] [PATCH v3 3/5] bgpd: VRF vty configuration, RIB table creation

2016-12-02 Thread Philippe Guibert
it. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.c | 192 +++-- bgpd/bgp_route.h | 4 ++ bgpd/bgp_table.h | 3 + bgpd/bgp_v

[quagga-dev 16417] [PATCH v3 1/5] lib: declare BGP_VRF_NODE as vty subnode

2016-12-02 Thread Philippe Guibert
This new node is to be put under router bgp subnode. On top of this, usual exit and end commands are also taking into account bgp vrf subnode. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/command.c | 3 +++ lib/command.h | 1 + lib/vty.c | 1 + 3 files chan

[quagga-dev 16418] [PATCH v3 2/5] vtysh: vty adaptations for new bgp vrf node

2016-12-02 Thread Philippe Guibert
This commit includes changes related to introduce new subnode under bgp called vrf <>. This node permits configuring route distinguishers and route target under the subnode, by using vtysh command tool. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- vtysh/extract

[quagga-dev 16420] [PATCH v3 4/5] bgpd: vty adaptations regarding rd and rt configuration

2016-12-02 Thread Philippe Guibert
export rt both no rt import <> no rt export <> no rt both <> exit no vrf Currently, this is necessary to manually set route distinguisher. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.c |

[quagga-dev 16421] [PATCH v3 5/5] bgpd: vpnv4 af exports extended communities

2016-12-02 Thread Philippe Guibert
If the user preconfigures a vrf with import and export rules, before creating a new network on vpnv4 address, then BGP update emitted will contain the exported rts mentioned by the vrf export rule. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.

[quagga-dev 16416] [PATCH v3 0/5] BGP VRF Route Distinguisher configuration

2016-12-02 Thread Philippe Guibert
This series of patches introduces the ability for a BGP router, to configure a route distinguisher and associate import and export route targets. This permits for a BGP update to be sent with BGP extended communities associated to the exported route targets of the RD. This permits for a BGP update

[quagga-dev 16390] [PATCH 56/57] bgpd: adj-in-rib table per VRF

2016-10-28 Thread Philippe Guibert
When enabling adj-rib-in for global RIB table, it automatically stores adj-rib-entries for VRF RIB tables. This commit introduces a new vty command to dump the adj-rib-in entries per vrf: show ip bgp vrf neighbor received-routes Signed-off-by: Philippe Guibert <philippe.guib...@6wind.

[quagga-dev 16386] [PATCH 54/57] bgpd: VRF table exportation filters labels according to layer type

2016-10-28 Thread Philippe Guibert
exported to LAYER_3 VRF. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.c | 78 +++- 1 file changed, 55 insertions(+), 23 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 6673749c7dde..9a86

[quagga-dev 16387] [PATCH 53/57] bgpd: evpn import processing

2016-10-28 Thread Philippe Guibert
Enhancement of EVPN bgp information exportation to VRF RIBs. Currently, only IPv4 unicast VRF RIBs are filled in, according from EVPN information coming from Prefix route advertisements. Labels are processed differently according to the VRF layer type. In addition to this, routermac will not be

[quagga-dev 16389] [PATCH 57/57] bgpd: VRF adj rib in update

2016-10-28 Thread Philippe Guibert
This commit appends or withdraw entries in ADJ-RIB-IN entries of VRF RIB tables. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.c | 45 + 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/bgpd/bgp_r

[quagga-dev 16388] [PATCH 55/57] bgpd: show ip bgp vrf enhancements.

2016-10-28 Thread Philippe Guibert
add vty command : show ipv6 bgp vrf [route] This command permits to dump IPv6 entries in VRF RIB filled by export RT facility. Type 1 route distinguishers are now supported by command show ip bgp vrf Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.

[quagga-dev 16384] [PATCH 52/57] bgpd: add VRF field layer type

2016-10-28 Thread Philippe Guibert
From: Julien Courtat On VRF creation, an additionnal parameter layer type can be provided to distinguish between layer 2 and layer 3 vrf. layer 2 is used by EVPN when dealing with MAC/IP route advertisement. layer 3 is used by any other route L3VPN or EVPN route

[quagga-dev 16377] [PATCH 44/57] bgpd: MAC/IP advertisements have next hop attribute

2016-10-28 Thread Philippe Guibert
When sending an EVPN MAC/IP attribute, the nexthop attribute is also appended. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_attr.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 2b57d6

[quagga-dev 16382] [PATCH 51/57] bgpd: avoid sending duplicated nlri attributed in bgp

2016-10-28 Thread Philippe Guibert
When configuring MPLS or EVPN entries, the NLRI is duplicated. Which is not wished. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_attr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index eb13e1

[quagga-dev 16365] [PATCH 31/57] bgpd: evpn vty show commands are moved under show bgp l2vpn

2016-10-28 Thread Philippe Guibert
All current vty show commands related to evpn are moved from show bgp evpn node to show bgp l2vpn evpn node. Only two commands are kept: show bgp evpn rd <> [overlay] has been duplicated. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_

[quagga-dev 16380] [PATCH 46/57] bgpd: mpath debug displays l2vpn prefix

2016-10-28 Thread Philippe Guibert
The introduction of L2VPN prefix in EVPN makes that the inner IP prefix must be retrieved to display correct information. Signed-off-by: Julien Courtat --- bgpd/bgp_mpath.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git

[quagga-dev 16373] [PATCH 40/57] lib: afi_ether structure packing fix

2016-10-28 Thread Philippe Guibert
'packed' keyword had no effect on packing the afi_ethernet structure. The attribute keyword has been eppended in order to take into account the packed feature. Signed-off-by: Julien Courtat --- lib/prefix.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff

[quagga-dev 16368] [PATCH 37/57] bgpd: introduction of vxlan tunnel attribute

2016-10-28 Thread Philippe Guibert
As per draft-ietf-idr-tunnel-encaps-02, section 3.2.1, BGP Encap attribute supports vxlan tunnel type. A new tunnel attribute has been appended to subtlv list, describing the vxlan network identifier to be used for the routing information of the BGP update message. Signed-off-by: Philippe Guibert

[quagga-dev 16371] [PATCH 39/57] bgpd: fix compilation warning due to AFI_ETHER

2016-10-28 Thread Philippe Guibert
This commits avoids keeping a warning of compilation. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_open.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 75c840ef4958..ce1fea16971e 100644 --- a/bgpd/bgp_open.c +++

[quagga-dev 16369] [PATCH 35/57] bgpd: support for router mac extended community

2016-10-28 Thread Philippe Guibert
. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_clist.c | 4 ++-- bgpd/bgp_ecommunity.c | 61 ++- bgpd/bgp_ecommunity.h | 5 - bgpd/bgpd.c | 8 +-- 4 files changed, 67 insertions(+), 11 del

[quagga-dev 16366] [PATCH 33/57] bgpd: enhance network command for evpn route type 5

2016-10-28 Thread Philippe Guibert
available. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_encap.c | 4 +- bgpd/bgp_evpn.c| 48 +++ bgpd/bgp_mplsvpn.c | 6 +-- bgpd/bgp_route.c | 113 + bgpd/bgp_route.h | 6 ++- 5

[quagga-dev 16370] [PATCH 38/57] bgpd: handling router mac extended community

2016-10-28 Thread Philippe Guibert
For each received routermac extended community, the mac address is copied into routermac extended community context. For each emission, a check is done against routermac extended community, if L2VPN is enabled. If enabled, the extended community is appended. Signed-off-by: Philippe Gubiert

[quagga-dev 16358] [PATCH 27/57] bgpd: route type 5 internal structures plus processing

2016-10-28 Thread Philippe Guibert
The commit introduces the changes to be done to carry route type 5 EVPN information in bgp extra attribute information. The commit also handles the update processing for route type 5 information. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_attr.c | 16 -

[quagga-dev 16363] [PATCH 30/57] bgpd: enhance EPVN vty show commands

2016-10-28 Thread Philippe Guibert
command. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_evpn.c | 495 +++ bgpd/bgp_evpn.h | 1 + bgpd/bgp_route.c | 91 ++ bgpd/bgp_route.h | 1 + bgpd/bgpd.c | 1 + 5 files change

[quagga-dev 16362] [PATCH 29/57] bgpd: evpn RT-5 bgp update carries nexthop attribute

2016-10-28 Thread Philippe Guibert
This patch appends nexthop attribute to EVPN message, in addition to appending gateway IP in RT-5 NLRI itself. In reception, if both informations are stored, then the GW IP information will supersede the NLRI nexthop attribute. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.

[quagga-dev 16359] [PATCH 26/57] bgpd: handling EVPN Route Type 5 NLRI message

2016-10-28 Thread Philippe Guibert
identifier), the gateway IP Address (which acts like nexthop attribute but is contained inside the NLRI itself) and the ethernet tag identifier ( that acts for the VXLan Identifier) Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/Makefile.am | 4 +- bgpd/bgp_attr_

[quagga-dev 16360] [PATCH 28/57] bgpd: evpn NLRI route type 5 forging

2016-10-28 Thread Philippe Guibert
This patch introduces the ability to make route type 5 message when EVPN is enabled. Picked up paramters are collected from the bgp extra attribute structure and are the ESI, the ethernet tag information. In addition to this, nexthop attribute is collected too. Signed-off-by: Philippe Guibert

[quagga-dev 16345] [PATCH 13/57] bgpd: apply multipath algorithm to VRF

2016-10-28 Thread Philippe Guibert
This commit checks for the maximum path per VRF before running the multipath algorithm. This makes it possible to limit the number of paths for a specific VRF, and not for an other one. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_mpath.

[quagga-dev 16356] [PATCH 22/57] tests: update safi_valid_indices API

2016-10-28 Thread Philippe Guibert
There has been a change in API safi_valid_indices. This modification is updating the call API. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- tests/bgp_capability_test.c | 13 +++-- tests/bgp_mp_attr_test.c| 9 + 2 files changed, 12 insertions(

[quagga-dev 16333] [PATCH 00/57] Ethernet VPN RFC Patch

2016-10-28 Thread Philippe Guibert
As explained in a previous mail addressed to quagga-dev, Tue, Oct 25, 2016 at 2:46 PM, the proposed implementation covers the following: - EVPN route type 2 aka MAC/IP advertisement - EVPN route type 5 aka Prefix IP advertisement. It is possible to statically set abovementioned messages. It also

[quagga-dev 16344] [PATCH 09/57] bgpd: VRF import processing

2016-10-28 Thread Philippe Guibert
ed-off-by: Christian Franke <ch...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.c | 384 +-- 1 file changed, 376 insertions(+), 8 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd

[quagga-dev 16342] [PATCH 11/57] bgpd: vty command for vrf maximum path configuration

2016-10-28 Thread Philippe Guibert
From: Julien Courtat Enhancement of new vty command to configure the maximum number of multipath entries that are possible within a VRF RIB table. The following command is available: - vrf rd maximum-path <1-64> - no vrf rd maximum-path <1-64> Vrfs with a

[quagga-dev 16346] [PATCH 14/57] bgpd: sanity check against accessing invalid table pointer.

2016-10-28 Thread Philippe Guibert
This sanity check has been discovered when running bgp mpath_tests that are available in tests folder. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_mpath.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bgpd/bgp_mpath.c b/bgpd/bgp_mpath.c

[quagga-dev 16339] [PATCH 05/57] bgpd: multiple label stack support

2016-10-28 Thread Philippe Guibert
<equi...@opensourcerouting.org> Signed-off-by: Christian Franke <ch...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_attr.c| 28 +++--- bgpd/bgp_attr.h| 6 +-- bgpd/bgp_encap.c | 4 +-

[quagga-dev 16353] [PATCH 20/57] bgpd: basic vty support for EVPN

2016-10-28 Thread Philippe Guibert
for setting NLRI entries for EVPN. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_vty.c | 54 ++ lib/command.c | 3 +++ lib/command.h | 1 + lib/vty.c | 1 + vtysh/vtysh.c | 28 +++- 5

[quagga-dev 16337] [PATCH 02/57] bgpd: vpnv4 af exports extended communities

2016-10-28 Thread Philippe Guibert
If the user preconfigures a vrf with import and export rules, before creating a new network on vpnv4 address, then BGP update emitted will contain the exported rts mentioned by the vrf export rule. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.

[quagga-dev 16349] [PATCH 19/57] vtysh: add support of address-family evpn

2016-10-28 Thread Philippe Guibert
From: Julien Courtat Update extract.pl ignore list to prevent from installing address_family_evpn_cmd twice and have "Ambiguous command" return by vtysh when trying to configure address-family evpn. Signed-off-by: Julien Courtat ---

[quagga-dev 16336] [PATCH 03/57] tests: enhance bgpd testing with label value

2016-10-28 Thread Philippe Guibert
bgp NLRI has a specific format for label, terminating with bottom of stack bit. This value is updated in all BGP attribute tests. A specific test has been added to check for a list of labels contained in a single NLRI. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> ---

[quagga-dev 16351] [PATCH 17/57] bgpd: basic support for EVPN

2016-10-28 Thread Philippe Guibert
To handle BGP NLRI EVPN messages, bgp is modified to handle AFI_L2VPN and SAFI_EVPN values. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_attr.c | 25 ++- bgpd/bgp_open.c | 29 ++- bgpd/bgp_packet.

[quagga-dev 16341] [PATCH 10/57] bgpd: VRF RIB log updates enhancement

2016-10-28 Thread Philippe Guibert
On adding/removing/updating NLRI entries into VRF RIB tables, a BGP event is fired. Note that only selected entries, and entries that are part of multipath entries, and where one of the multipath entry is selected. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_r

[quagga-dev 16347] [PATCH 15/57] bgpd: avoid looping when unselecting a list of mpath entries

2016-10-28 Thread Philippe Guibert
sometimes, when electing best route algorithm, a static route may be injected, thus causing all old multipath entries to be removed from multipath list. As a loop is removing each mpath entry from mpath list, it is necessary to update the pointer. Signed-off-by: Philippe Guibert <philippe.g

[quagga-dev 16334] [PATCH 01/57] bgpd: VRF vty configuration, RIB table creation

2016-10-28 Thread Philippe Guibert
it. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.c | 192 +++-- bgpd/bgp_route.h | 4 ++ bgpd/bgp_table.h | 3 + bgpd/bgp_v

[quagga-dev 16335] [PATCH 04/57] lib: 3byte stream foo

2016-10-28 Thread Philippe Guibert
From: David Lamparter <equi...@opensourcerouting.org> API enhancement to be able to write and read 3 byte series in stream structures. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> ---

[quagga-dev 16354] [PATCH 18/57] bgpd: bgp open graceful restart capability fix with mpls

2016-10-28 Thread Philippe Guibert
If vpnv4 capability has to be sent, then the correct safi parameter is sent instead of internal value. In case BGP open graceful restart capability is applied to EVPN, then the flags to be set are modified to be official afi and safi parameters, and not internal value. Signed-off-by: Philippe

[quagga-dev 16338] [PATCH 07/57] bgpd: BGP VRF processing handling

2016-10-28 Thread Philippe Guibert
NLRI entries received from MP-BGP peer exchange are exported in VRF RIB tables. This commit introduces the BGP VRF processing handler that can be used for further processing into VRF RIB tables: best selection algorithm, multipath. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.

[quagga-dev 16352] [PATCH 21/57] bgpd: safi_valid_indices ability to return internal afi identifier

2016-10-28 Thread Philippe Guibert
Because afi numbers can reach high values, a conversion is necessary to return associate afi internal identifier. The safi_valid_indices API has been changed for that. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_open.c | 22 +++--- bgpd/bgp_

[quagga-dev 16343] [PATCH 08/57] bgpd: detect if bgp_info is multipath entry

2016-10-28 Thread Philippe Guibert
Enhance a function that permits knowing if two entries belong to the same multipath group. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_mpath.c | 15 +++ bgpd/bgp_mpath.h | 1 + 2 files changed, 16 insertions(+) diff --git a/bgpd/bgp_mpath.c

[quagga-dev 16340] [PATCH 06/57] tests: fix BGP VRF interactions

2016-10-28 Thread Philippe Guibert
From: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- tests/Makefile.am | 2 +- tests/bgp_mpath_test.c | 15 +++ 2 files changed, 1

[quagga-dev 16332] EVPN RFC Patch

2016-10-25 Thread Philippe Guibert
Hi all, This thread is a starting point to discuss about Ethernet VPN implementation in Quagga BGP daemon. Currently, the RFC7432 is not supported in quagga 1.1.0. This email is a preparatory work to open discussion. It is also a preparatory work to propose the following EVPN implementation.

[quagga-dev 16331] Re: [PATCH v2 1/2] bgpd: VRF vty configuration, RIB table creation

2016-10-24 Thread Philippe Guibert
On Fri, Oct 21, 2016 at 8:21 PM, Lou Berger wrote: Hello Lou, Thanks for your detailed response, I agree to configure the RD , and the RT set per VRF. However, I tried to make a counter proposal about the way to configure it. You will find it below. Your comments are welcome.

[quagga-dev 16329] Re: [PATCH v2 1/2] bgpd: VRF vty configuration, RIB table creation

2016-10-20 Thread Philippe Guibert
ets of RTs). BTW RRs only care about > this part. > > So keying a VPN/VRF off an RD just seems wrong, particularly for the > import case where RD is ignored. > > Lou > > On 10/19/2016 3:59 AM, Philippe Guibert wrote: >> On Tue, Oct 18, 2016 at 3:56 PM, Lou Berger <lb

[quagga-dev 16309] Re: [PATCH v2 1/2] bgpd: VRF vty configuration, RIB table creation

2016-10-19 Thread Philippe Guibert
It would be possible to change configuration: instead of "vrf rd", one could have "rd <>". > PS I think an update to bgpd.texi is needed for this patch of course, this is something that can be done. Best Regards, Philippe > On 10/11/2016 4:17 AM, Philippe Guibert

[quagga-dev 16281] [PATCH v2 09/10] bgpd: sanity check against accessing invalid table pointer.

2016-10-12 Thread Philippe Guibert
This sanity check has been discovered when running bgp mpath_tests that are available in tests folder. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_mpath.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bgpd/bgp_mpath.c b/bgpd/bgp_mpath.c

[quagga-dev 16280] [PATCH v2 08/10] bgpd: apply multipath algorithm to VRF

2016-10-12 Thread Philippe Guibert
This commit checks for the maximum path per VRF before running the multipath algorithm. This makes it possible to limit the number of paths for a specific VRF, and not for an other one. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_mpath.

[quagga-dev 16279] [PATCH v2 05/10] bgpd: VRF RIB log updates enhancement

2016-10-12 Thread Philippe Guibert
On adding/removing/updating NLRI entries into VRF RIB tables, a BGP event is fired. Note that only selected entries, and entries that are part of multipath entries, and where one of the multipath entry is selected. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_r

[quagga-dev 16276] [PATCH v2 01/10] tests: fix BGP VRF interactions

2016-10-12 Thread Philippe Guibert
From: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- tests/Makefile.am | 2 +- tests/bgp_mpath_test.c | 15 +++ 2 files changed, 1

[quagga-dev 16278] [PATCH v2 04/10] bgpd: VRF import processing

2016-10-12 Thread Philippe Guibert
ed-off-by: Christian Franke <ch...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_route.c | 384 +-- 1 file changed, 376 insertions(+), 8 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd

[quagga-dev 16276] [PATCH v2 02/10] bgpd: BGP VRF processing handling

2016-10-12 Thread Philippe Guibert
NLRI entries received from MP-BGP peer exchange are exported in VRF RIB tables. This commit introduces the BGP VRF processing handler that can be used for further processing into VRF RIB tables: best selection algorithm, multipath. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.

[quagga-dev 16277] [PATCH v2 03/10] bgpd: detect if bgp_info is multipath entry

2016-10-12 Thread Philippe Guibert
Enhance a function that permits knowing if two entries belong to the same multipath group. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_mpath.c | 15 +++ bgpd/bgp_mpath.h | 1 + 2 files changed, 16 insertions(+) diff --git a/bgpd/bgp_mpath.c

[quagga-dev 16274] [PATCH v1 09/10] *: enhance memtype and memgroup generation across lib and daemons

2016-10-12 Thread Philippe Guibert
within lib/and or daemons and describing the memory group and memory types. Note that this generator tool takes into account global memory declarations, but not static memory group and types defined inside specific .c files. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- .git

[quagga-dev 16273] [PATCH v1 05/10] *: split & distribute memtypes

2016-10-12 Thread Philippe Guibert
place to put the #include "zebra_memory.h" statement. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/Makefile.am | 2 + bgpd/bgp_community.c | 1 + bg

[quagga-dev 16272] [PATCH v1 07/10] *: declare and init mgroup and mtype for all lib/daemons

2016-10-12 Thread Philippe Guibert
their own memory types and groups. In addition to this, as all daemons require usage of lib library, then the daemons also initialise the lib memory types and group entries. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_main.c | 2 + bgpd/bgp_memory.c

[quagga-dev 16273] [PATCH v1 10/10] lib: clean/restore memory debugging functions

2016-10-12 Thread Philippe Guibert
qui...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/memory.c | 35 ++ lib/memory.h | 1 + lib/memory_vty.c | 89 +--- lib/memory_vty.h | 1 - 4 files changed, 3

[quagga-dev 16271] [PATCH v1 06/10] *: stop (re|ab)using lib/ MTYPEs

2016-10-12 Thread Philippe Guibert
<equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- bgpd/bgp_nexthop.c | 8 +--- isisd/isis_memory.c | 2 ++ isisd/isis_memory.h | 2 ++ isisd/isis_redist.c | 14 +++--- ospf6d/ospf6_interface.c | 10 ++

[quagga-dev 16269] [PATCH v1 02/10] lib: add new extensible memory-type handling

2016-10-12 Thread Philippe Guibert
tartup. Signed-off-by: David Lamparter <equi...@opensourcerouting.org> Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/Makefile.am | 1 + lib/log.c| 8 +++ lib/memory.c | 102 +++ lib/

[quagga-dev 16272] [PATCH v1 08/10] *: static mgroup and mtypes are locally declared and initialised

2016-10-12 Thread Philippe Guibert
On some specific cases, the user may wish not to export its memory type and group. The user can then declare and initialises this memory type, provided that he ensures also the initialisation. The goal of that commit is initialising in quagga the static mtypes. Signed-off-by: Philippe Guibert

[quagga-dev 16266] [PATCH v1 00/10] VRF Import Processing + VRF Multipath

2016-10-12 Thread Philippe Guibert
This series of patch is the following of VRF and VRF RIB tables introduction in BGP. It enhances the import processing algorithm: it reuses the export route target extended community, as well as the local import route target configured per VRF, to append/remove NLRI entries from VPNv4 into VRF RIB

[quagga-dev 16268] [PATCH v1 03/10] lib: remove constructor reference

2016-10-12 Thread Philippe Guibert
because some compilers do not use this feature, it is provided an API that forces the user to call its mem group and memtypes init. Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com> --- lib/memory.h | 24 ++-- 1 file changed, 2 insertions(+), 22 deletions(-)

[quagga-dev 16262] [PATCH 1/2] bgpd: eliminate RD related duplicate code in bgp_encap.c decode_rd_... apis are declared global in bgp_mplsvpn.c

2016-10-12 Thread Philippe Guibert
From: Lou Berger --- bgpd/bgp_encap.c | 45 - bgpd/bgp_mplsvpn.c | 8 bgpd/bgp_mplsvpn.h | 5 + 3 files changed, 9 insertions(+), 49 deletions(-) diff --git a/bgpd/bgp_encap.c b/bgpd/bgp_encap.c index

  1   2   >