Commit Graph

11443 Commits

Author SHA1 Message Date
Donald Sharp
7acf817f46
Merge pull request #1976 from pguibert6WIND/issue_1968
Issue 1968 / ip route <> table X
2018-06-04 09:36:01 -04:00
Donald Sharp
3b7268448f
Merge pull request #2259 from ppmathis/enhancement/peer-enforce-first-as
bgpd: Move 'enforce-first-as' from global to peer
2018-06-04 09:35:00 -04:00
Donald Sharp
dc8daeadaa
Merge pull request #2355 from opensourcerouting/fix-build-freebsd-snmp
build: append -std=gnu99 after SNMP_CFLAGS
2018-06-04 08:36:02 -04:00
Donald Sharp
5b3ef5094c
Merge pull request #2356 from opensourcerouting/doc-ldpd-rfcs
doc: list RFCs supported by ldpd in overview.rst
2018-06-04 08:35:03 -04:00
Donald Sharp
38bbad1bef zebra: Add some vrf information to debug messages
When debugging code in redistribute.c, it is useful to output
the vrf we think the interface is in.  So display it
when we are debugging.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-06-04 13:17:38 +02:00
Donald Sharp
d12b745c90 bgpd: Actually release peer from bgp_peer hash
When we are determining the state of a peer, we sometimes
detect that we should update the peer->su.  The bgp->peer_hash
keeps a hash of peers based upon the peer->su.  This requires
us to release the stored value before we re-insert it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-06-04 13:16:29 +02:00
Lou Berger
3ad00234f7 bgpd: open per vrf listen socket for linux type vrfs
Signed-off-by: Lou Berger <lberger@labn.net>
2018-06-04 13:13:15 +02:00
Lou Berger
c9c70dd164 lib: fix setsockopt arg
Signed-off-by: Lou Berger <lberger@labn.net>
2018-06-04 13:13:15 +02:00
Renato Westphal
401c174473 doc: list RFCs supported by ldpd in overview.rst
This is only a minor step in the direction of actually writing
documentation for ldpd...

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-06-02 22:36:10 -03:00
Renato Westphal
7aad159464 build: append -std=gnu99 after SNMP_CFLAGS
Programs that link to libnetsnmp must be compiled using a special set
of flags as specified by the "net-snmp-config --base-cflags" command
(whose output is stored in the SNMP_CFLAGS variable). The problem is
that "net-snmp-config --base-cflags" can output -std=c99 in addition to
other compiler flags in some platforms, and this breaks the build since
FRR souce code makes use of some GNU compiler extensions (e.g. allow
trailing commas in function parameter lists). In order to solve this
problem, append -std=gnu99 after SNMP_CFLAGS in all makefiles where this
variable is used. This way the -std=c99 flag will be overwritten when it's
present. Source files that don't link to libnetsnmp will be compiled using
either -std=gnu99 or -std=gnu11 depending on the compiler availability.

Fixes #1617.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-06-02 22:12:57 -03:00
Russ White
ebb46153b0
Merge pull request #2245 from donaldsharp/type_4
Support EVPN Type 4 Routes
2018-06-01 16:00:14 -04:00
Quentin Young
65757481f0
Merge pull request #2329 from pguibert6WIND/issue_2275_proposal
doc: inform the diff between config from zebra and outside
2018-06-01 12:39:20 -04:00
Olivier Dugeon
4adca4ef16
Merge pull request #2309 from opensourcerouting/master-mpls_te_print_detail-fix
isisd: fix mpls_te_print_detail to not read out-of-bounds
2018-06-01 16:32:15 +02:00
Philippe Guibert
00384b5fbd zebra: keep one command to handle vty with/without table param
That fix is a workaround from a vtysh limitation.
Because table identifier should be accessible in configuration only for
vrf netns backends, there was a need to differentiate the vty commands.
Unfortunately, vtysh parses the two commands without knowing which
command has really been installed.
Using one single vty command will avoid having this issue in vtysh.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 15:24:13 +02:00
Philippe Guibert
b73823efa1 zebra: add in show vrf information about vrf backend kind
By default, nothing is displayed. If vrf backend is linux network
namespaces, then "netns-based vrfs" is displayed, before dumping the
list of VRFs.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 15:24:13 +02:00
Philippe Guibert
87d6ac7a04 zebra: add show ip route table vrf command
It is possible to get table per VRF, provided that vrf backend is
configured with NETNS.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 15:24:13 +02:00
Philippe Guibert
b3441a6a22 zebra: ns_table list is extended to support multiple NETNS
In the case where vrf backend is netns, then the list of ns tables may
be extended. A single list is kept,but an attribute is added: the ns_id.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 15:24:13 +02:00
Philippe Guibert
e9748a8901 zebra: table_id election with the vrf backend
As table_id for VRF with netns backend is main table ( RT_TABLE_MAIN or
zebrad.rtm_table_default), this makes possible to return the table id
that wants to be configured for those cases. ( in addition to default
VRF). In other cases ( VRF Lite presumably), then vrf table_id is
returned.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 15:24:13 +02:00
Philippe Guibert
b3b086026b zebra: add table keyword to route configuration vty command
Add the table keyword for all ip route/ip mroute/ipv6 route commands
that are available. Also, the main structure is being added a table
identifier.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 15:24:13 +02:00
Philippe Guibert
d66a93dd93 doc: replace 'intact' keyword with something more clear
Keeping the config intact might be misunderstood. I say that even if VRF
netns is automatically discovered, it is possible for administrator to
save the netns information in the config file, to bring more clarity (
hence the config commands available).

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 13:18:35 +02:00
Philippe Guibert
4d25da4f1e doc: inform the diff between config from zebra and outside
To avoid some confusions, it is precised in the documentation that
the configuration not done from zebra will not be injected in the
configuration context. As consequence, the config file will not be
impacted by underlying network context. But also, this will not be
possible for *Zebra* to attempt to modify outside networking objects.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-01 13:18:31 +02:00
Martin Winter
ef319aa3d7
Merge pull request #2324 from qlyoung/docuser
doc: cleanup sharp.rst
2018-06-01 03:01:09 +02:00
Martin Winter
a7361d4fe9
Merge pull request #2250 from donaldsharp/watchfrr
redhat: Make watchfrr the default
2018-06-01 01:20:26 +02:00
Renato Westphal
954b112276
Merge pull request #2332 from donaldsharp/sa_42
Sa 42
2018-05-31 12:10:35 -03:00
Renato Westphal
d8f638e09a
Merge pull request #2325 from donaldsharp/aggregate
bgpd: Add null0 route back for aggregate-address route created.
2018-05-31 12:05:48 -03:00
Donald Sharp
f220da9968 bgpd: Fix SA issue with uninited ifindex value
The rearrangement of where the decision point of
filling in the aggregate information, must have allowed
SA to find a path of code where we may use ifindex uninitialized.
While I don't think this is possible to happen, make this issue
go away.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-31 09:37:34 -04:00
Christian Franke
27a470dc27 isisd: fix mpls_te_print_detail to not read out-of-bounds 2018-05-31 12:52:29 +02:00
Donald Sharp
24f8bd87e5 bgpd: Ignore return code for str2prefix
The call to str2prefix_rd when we get to this point of the
code cannot fail.  As such let's just ignore the return code.

Found by Coverity SA.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30 09:50:22 -04:00
Donald Sharp
c37e1f598b pimd: hash_get w/ hash_alloc_intern cannot fail
The assignment of sa with the usage of hash_get and hash_alloc_intern
can never fail.  No need to look for a failure case.

Found by Coverity SA.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30 09:42:24 -04:00
Donald Sharp
a9bafa95d0 bgpd: Notice when peer_clear fails
Issue Found by Coverity Scan.  When we call peer_clear we
are checking the return code in every other call.  Add
a bit of extra code to notice the failure and note it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30 09:37:03 -04:00
Donald Sharp
9588ae79fa bgpd: Fix redundant or test
The if statement had a second instance of the same variable
to test as part of the statement.

Found by SA.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30 09:32:33 -04:00
Donald Sharp
5b7077e892 redhat: Fix old systems on upgrade path
Fix old systems in upgrade path to enable watchfrr when upgrading.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30 07:53:28 -04:00
Donald Sharp
b13124f0f7 redhat: Make watchfrr the default
With systemd being the default on more systems now, lets
configure watchfrr to start else systemd systems on
redhat will not stay up for more than 1 minute.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30 07:52:23 -04:00
Donald Sharp
2bb9eff45f bgpd, lib: Cleanup CI warnings from system
Make the CI system happy.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30 07:48:21 -04:00
mitesh
50f74cf131 *: support for evpn type-4 route
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
2018-05-30 07:48:20 -04:00
Donald Sharp
5cc347c4b9 bgpd: Add null0 route back for aggregate-address route created.
The aggregate-address command is not creating the null0
route.  This got lost somewhere in the last year or so.
Add this ability back for BGP route installs into
zebra.

We need this aggregate route installed into the rib
because we are drawing this traffic to us irrelevant
of the number of routes we do have for that prefix.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-29 20:04:17 -04:00
Quentin Young
20b35e468d doc: cleanup sharp.rst
The user doc index was not displaying correctly because of some syntax
errors in sharp.rst

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-05-29 21:08:03 +00:00
Donald Sharp
68542a6da6
Merge pull request #2142 from pguibert6WIND/fs_zebra_complement
Flowspec complement : port support and policy routing per interface and plugin wrapper
2018-05-29 11:33:00 -04:00
Jafar Al-Gharaibeh
c13c548cbb
Merge pull request #2307 from opensourcerouting/master-isis-tlv-copy-fix
isisd: fix bug in tlv_copy of empty MT-router-info
2018-05-29 10:34:59 -04:00
Jafar Al-Gharaibeh
a812ed42b0
Merge pull request #2266 from chiragshah6/ospfv3_dev
ospf6d: Fix inter area prefix
2018-05-29 10:33:48 -04:00
Donald Sharp
eca19aa4a5
Merge pull request #2312 from opensourcerouting/master-malloc-0-fix
lib: make allocators work for allocation sizes of 0
2018-05-29 10:21:43 -04:00
Christian Franke
c897c456d7 lib: make allocators work for allocation sizes of 0
Fixes: #2155
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-05-29 14:53:14 +02:00
Quentin Young
bdb53116de
Merge pull request #2310 from opensourcerouting/master-gitignore-pytest-cache
tests: add pytest cache to gitignore
2018-05-29 03:45:04 -04:00
Christian Franke
a5558663af tests: add pytest cache to gitignore 2018-05-28 15:09:50 +02:00
Christian Franke
b9d4a3804e isisd: fix bug in tlv_copy of empty MT-router-info 2018-05-28 14:21:26 +02:00
Jafar Al-Gharaibeh
f7fba3423b
Merge pull request #2248 from ppmathis/enhancement/bgp-adjacent-routes
bgpd: Improve show commands for adjacent routes (advertised/received-routes)
2018-05-27 12:53:33 -04:00
Russ White
e73f79ac4c
Merge pull request #2283 from donaldsharp/ignore_some_more
zebra: netlink cleanups
2018-05-27 11:02:15 -04:00
Russ White
5980e23123
Merge pull request #2291 from qlyoung/top-cleanup
*: remove update-autotools
2018-05-27 11:00:28 -04:00
Russ White
bac9485b03
Merge pull request #2295 from qlyoung/sort-vni
sort vni's
2018-05-27 10:59:19 -04:00
Russ White
e68677bd27
Merge pull request #2289 from qlyoung/list-sort
linklist sorting + hash table -> linklist
2018-05-27 10:56:57 -04:00