Commit Graph

26797 Commits

Author SHA1 Message Date
Russ White
3d5af91264
Merge pull request #9504 from donaldsharp/cbit_is_needed
lib: Send c-bit when not using bfdd as daemon of choice
2021-08-27 18:52:03 -04:00
Sri Mohana Singamsetty
8930d8d75b
Merge pull request #9473 from ton31337/fix/BGP_STR_unified
bgpd: Use BGP_STR for CLI definitions everywhere for BGP CLI
2021-08-27 13:28:57 -07:00
Christian Hopps
0779f17742
tests: fix ospf ASBR summary test
Previously the check did nothing as the input_dict parameter was wrong.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-27 14:46:20 -04:00
Christian Hopps
34ea6fafa9 tests: Update dir-locals
- format with black in emacs
- wrap text at 88 (black)

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-27 13:10:06 -04:00
Donald Sharp
4cc6d2cef6 lib: Send c-bit when not using bfdd as daemon of choice
Commit: 4b983eef2c

Modified the zapi send receive of the c-bit to only
be under the HAVE_BFDD.  If you are using ptm-bfd
then the decoder function still expects this to be
sent down.  This commit puts this behavior back

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-27 09:32:27 -04:00
David Lamparter
3e386e98b3
Merge pull request #9480 from SaiGomathiN/pim-coverity
pimd: Fixing coverity issues
2021-08-27 10:53:35 +02:00
David Lamparter
5421bf8f1d pimd: fuse source_new() and add_source_by_addr()
This makes a lot more sense semantically (and matches the way groups are
handled.)  Also allows placing additional restrictions on source
creation (e.g. limit on number of sources or ACLs.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-27 10:46:53 +02:00
David Lamparter
a1a4295ade pimd: reformat after dropping indent levels
Intentionally separate here because the previous patch does a whole
bunch of "move stuff up 1 level of indentation", and reviewing that is
easier when you can use the ignore-whitespace option on diff.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-27 10:46:53 +02:00
David Lamparter
dda4d23cca pimd: IGMP memberships are not querier specific
IGMP group/source memberships are a property of the interface;  the
particular IP address that the querier used to collect the data is
irrelevant.

... and IGMP packets get delivered only once to pimd anyway, since we
receive them on the "global" per-VRF IGMP socket.  (The one in igmp_sock
is only used for sending queries.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-27 10:42:53 +02:00
David Lamparter
e34e07e640 pimd: de-circularize includes
pimd's include files are very interdependent.  Let's chop that down a
bit to gain some flexibility.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-27 10:41:23 +02:00
David Lamparter
8268be3d16
Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg
lib: remove unused argument from vrf_cmd_init
2021-08-27 10:39:45 +02:00
Christian Hopps
4f99894dd0 tests: configure routers in parallel
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-26 20:49:27 -04:00
Christian Hopps
b86955a635 tests: improve bgp test determinism by resetting configs
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-26 20:49:27 -04:00
Igor Ryzhov
af581c003b vtysh: make node walkup code more generic
No need to have special processing for every single node. Just always
use "exit" the necessary number of times - it works for all nodes.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-27 00:09:21 +03:00
David Lamparter
3be280bb8c lib: fix indentation trainwreck in command_py
Hooooo boooooyyyy... that `default` sure was in an "interesting" place.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-26 21:08:51 +02:00
David Lamparter
90c8406c20 lib: add ![...] syntax for easy "no" forms
This allows defining a CLI command like this:
  `[no] some setting ![VALUE]`
with VALUE being optional for the "no" form, but required for the
positive form.  It's just a `[...]` where the empty branch can only be
taken for commands starting with `no`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-26 21:03:44 +02:00
Quentin Young
881ee579e8
Merge pull request #9500 from tomaxuser/master
doc: Basic spellchecking of bgp.rst
2021-08-26 14:43:57 -04:00
Renato Westphal
476e957517 ospf6d: extend the "redistribute" command with more options
Add the "metric" and "metric-type" options to the "redistribute"
command.

This is a small commit since the logic of setting the metric
value and type of external routes was already present due to the
implementation of the "default-information originate" command months
ago. This commit merely extends the "redistribute" command to
leverage that functionality.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-26 15:05:53 -03:00
Igor Ryzhov
c1e7a5e45e lib: make node_parent more generic
Instead of adding a separate case clause for every node, just find the
node structure in the global list and get its parent node from there.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-26 19:43:23 +03:00
Christian Hopps
d448e2c5f9
Merge pull request #9331 from idryzhov/explicit-exit
*: explicitly print "exit" at the end of every node config
2021-08-26 11:57:33 -04:00
Donald Sharp
a594fc5682
Merge pull request #9492 from Jafaral/pim-cov
pimd: fix coverity/dead-code issue
2021-08-26 11:06:15 -04:00
Donald Sharp
db2ab4dd2c
Merge pull request #9498 from idryzhov/fix-bgp-update-source
bgpd: fix update-source for ipv6
2021-08-26 09:41:18 -04:00
Tomáš Szaniszlo
f563acec29 doc: Basic spellchecking of bgp.rst
Signed-off-by: Tomáš Szaniszlo <tomaxuser@gmail.com>
2021-08-26 15:07:49 +02:00
Igor Ryzhov
2ebb354c41 bgpd: fix update-source for ipv6
There's no IPv6 LL address on loopback/vrf interfaces. So if the user
configures update-source, the session is never going to be established.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-26 13:07:55 +03:00
Guillaume Solignac
9482949688 isisd: Fix sending of LSP with null seqno
Check sequence number when building LSP missing in received CSNP

Signed-off-by: Guillaume Solignac <gsoligna@protonmail.com>
2021-08-26 12:06:29 +02:00
Igor Ryzhov
cfc369c43a lib: remove unused argument from vrf_cmd_init
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-26 12:01:22 +03:00
Philippe Guibert
80f6b5faeb lib, zebra: complete the ndm flags on zclient api
Insist on the fact that zclient neighbor state flags are
mapped over netlink state flags. List all the defines
currently known on kernel, and create a netlink API to
convert netlink values to zclient values. The function is
simplified as it is a 1-1 match.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-08-26 09:19:42 +02:00
Philippe Guibert
c4e1fd52a1 nhrp, zebra, lib: pass exact received neighbor state value to nhrp
As NHRP expects some notification of neighboring entries on GRE
interface, when a new interface notification is encountered, the
exact neighbor state flag is found. Previously, the flag passed
to the upper layer was forced to NDM_STATE which is REACHABLE,
as can be seen on below trace:

2021/08/25 10:58:39 NHRP: [QQ0NK-1H449] Netlink: new-neigh 102.1.1.1 dev gre1 lladdr 10.125.0.2 nud 0x2 cache used 1 type 5

When passing the real value, NHRP received an other value like STALE.

2021/08/25 11:28:44 NHRP: [QQ0NK-1H449] Netlink: new-neigh 102.1.1.1 dev gre1 lladdr 10.125.0.2 nud 0x4 cache used 0 type 5

This flag is important for NHRP, as it permits to monitor the link
layer of NHRP entries.

Fixes: d603c0774e ("nhrp, zebra, lib: enforce usage of zapi_neigh_ip structure")

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-08-26 09:19:42 +02:00
Donatas Abraitis
3e324ff419
Merge pull request #9466 from idryzhov/vrf-netns
lib, zebra: move vrf netns commands from lib to zebra
2021-08-26 07:46:19 +03:00
Russ White
ddcd8ec538
Merge pull request #9467 from gpnaveen/bgp_v4overv6
tests: adding 11 bgp v4 over v6 test cases.
2021-08-25 17:14:10 -04:00
Igor Ryzhov
161397fef7
Merge pull request #9490 from pguibert6WIND/fix_ipv6_seg6
bgpd: fix uninitialised segs6 buffer
2021-08-25 23:43:43 +03:00
Jafar Al-Gharaibeh
26d0cbbb76 pimd: fix coverity/dead-code issue
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2021-08-25 15:10:32 -05:00
Philippe Guibert
bbf32574e2 bgpd: fix uninitialised segs6 buffer
Below dump may be observed when receiving bgp ipv6 updates.

2021/08/25 16:52:32 BGP: [V15FP-4CPVK] Tx route add VRF 0 4004::1/128 metric 0 tag 0 count 1 nhg 0
2021/08/25 16:52:32 BGP: [JQXM8-V0CKB]   nhop [1]: 2003::4 if 0 VRF 0 wt 0  P8�o�

Fix it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-08-25 16:57:18 +02:00
Mark Stapp
b9d23ca0bb
Merge pull request #9487 from ton31337/fix/no_need_for_break_after_frr_help_exit
*: Drop `break` after using frr_help_exit() in switch/case
2021-08-25 08:41:52 -04:00
Yash Ranjan
d5cb350834 ospf6d: Add debug commands for lsa all and route all
Debug commad for all lsa types and route types are not present.

Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2021-08-25 04:54:11 -07:00
Donatas Abraitis
d10bda270e *: Drop break after using frr_help_exit() in switch/case
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-25 10:49:05 +03:00
Donatas Abraitis
361748d321
Merge pull request #9474 from idryzhov/lib-bgp-dependency
lib: remove the dependency on bgpd code
2021-08-25 10:39:29 +03:00
Jafar Al-Gharaibeh
9da861a712
Merge pull request #9435 from SaiGomathiN/sai-igmp
pimd: IGMP groups are not getting timeout
2021-08-24 16:15:39 -05:00
Jafar Al-Gharaibeh
be64b65252
Merge pull request #9414 from mobash-rasool/pim-upst-4
pimd: IGMPv2 query timer gets delayed in a scenario
2021-08-24 16:11:57 -05:00
Igor Ryzhov
bf41d65ebe
Merge pull request #9449 from opensourcerouting/ospf6d-nssa-fixes
ospf6d: NSSA fixes
2021-08-24 22:34:29 +03:00
Mark Stapp
ea5e814cf7
Merge pull request #9457 from anlancs/ospf6-void
ospf6d: suppress coverity warning of return value
2021-08-24 15:30:45 -04:00
Sai Gomathi
50975049f3 pimd: Fixing coverity issues
Problem
======
In pim_msg_send_frame api, the while loop was executed only once.

Fix
===
while is changed to if, as in the code flow
the while part is getting executed only once.

Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
2021-08-24 10:40:03 -07:00
Sai Gomathi
9a15529cda pimd: Fixing coverity issues
Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
2021-08-24 10:36:45 -07:00
Mark Stapp
5809c297fb
Merge pull request #9458 from anlancs/fix-ospf6-null
ospf6d: fix lock leak of using ALL_LSDB in GR helper
2021-08-24 12:12:05 -04:00
Renato Westphal
aea082d578 ospf6d: further validate NSSA ASBR routes used for route computation
Add missing sanity check specified in the NSSA RFC.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 11:53:36 -03:00
Renato Westphal
6c4892c083 tests: enable more debugs in the ospf6_topo2 topotest
Enable more debugs to facilitate troubleshooting whenever a problem
happens.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 11:53:36 -03:00
Renato Westphal
0c293b92ee ospf6d: do not allow an area to be stub and NSSA at the same time
That should not be allowed under any circumstance.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 11:53:36 -03:00
Renato Westphal
9142948e39 ospf6d: fix logging of border router routes
The prefix of routes to border routers consists of two pieces of
information embedded in a single struct (prefix.u.lp):

  struct prefix {
          uint8_t family;
          uint16_t prefixlen;
          union {
  		[snip]
                  struct {
                          struct in_addr id;
                          struct in_addr adv_router;
                  } lp;
          } u __attribute__((aligned(8)));
  };

As such, using prefix2str() (or the %pFX format specifier) isn't
correct when logging such routes.

This commit adds a few special cases here and there to handle
OSPF6_DEST_TYPE_ROUTER routes differently. It'd probably be a good
idea to add a helper function to handle all cases in a single place,
but that can be left for a second moment.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 11:53:36 -03:00
Renato Westphal
5dec72e1a0
Merge pull request #7876 from gpnaveen/ospf_gr_helper_using_scapy
tests: ospf gr helper topotests with scapy.
2021-08-24 11:42:49 -03:00
Igor Ryzhov
14b066917b lib: remove the dependency on bgpd code
The library code should not depend on a specific daemon's code.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-24 17:42:37 +03:00