Commit Graph

25441 Commits

Author SHA1 Message Date
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
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
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
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
Russ White
701bb4c692
Merge pull request #9310 from mobash-rasool/ospfv2-bug-fixes-02
ospfd: NSSA area should not exchange Type-4 LSAs in DD
2021-08-24 09:40:59 -04:00
Russ White
d147c287db
Merge pull request #8729 from gpnaveen/ospf_route_maps
tests: ospf routemap basic test cases 2.
2021-08-24 09:13:57 -04:00
Igor Ryzhov
552deede0e
Merge pull request #9460 from LabNConsulting/chopps/fix-ospf-config
tests: fix ospf json config confusion
2021-08-24 14:08:02 +03:00
Donatas Abraitis
12c9c4133d
Merge pull request #9462 from idryzhov/snapcraft-proto
snapcraft: add missing dependency
2021-08-24 12:35:17 +03:00
Sai Gomathi
fcf5d4386a pimd: IGMP groups are not getting timeout
Problem :
=======
When all the groups from Ixia are stopped,
groups still keep refreshing and not getting timeout

RCA:
====
IGMP Report is coming in include mode without any source address, this problem will come.

Fix :
===
If the requested filter mode is INCLUDE *and* the requested
source list is empty, then the entry corresponding to the
requested interface and multicast address is deleted if present.
If no such entry is present, the request is ignored.

When an interface receives the IGMP report without any source, then the group is deleted.

Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
2021-08-23 22:25:30 -07:00
nguggarigoud
cc90defcb6 tests: ospf gr helper topotests with scapy.
Testing ospf gr helper using scapy tool.

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2021-08-23 21:42:09 -07:00
Renato Westphal
b3eebd46d9
Merge pull request #9464 from idryzhov/ospfv3-debug-doc
doc: merge duplicated ospf6d debugging sections
2021-08-24 01:02:45 -03:00
Renato Westphal
6df89791ba ospf6d: remove incorrect debug guard
Also, update the ospf6_topo2 topotest since the expected output
was wrong. With this fix, NSSA routes will be created on r2
("redistribute connected"), and NSSA routes appear in the routing
table as regular external routes.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 00:39:56 -03:00
Renato Westphal
dd551b9d1f ospf6d: flush external LSAs when NSSA is configured
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 00:24:41 -03:00
Renato Westphal
ccfffce4a0 ospf6d: fix flushing of all LSAs when NSSA is unconfigured
Once NSSA is unconfigured on an area, all self-originated Type-7
LSAs need to be flushed. The existing code was iterating over the
LSDB in the wrong way, causing ospf6_nssa_flush_area() to flush
LSAs of all types.  Use the ALL_LSDB_TYPED_ADVRTR macro to perform
the intended iteration correctly.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 00:24:41 -03:00
Renato Westphal
bb257321b2 ospf6d: don't delete area when NSSA is unconfigured
Once NSSA is unconfigured, the OSPF area should still be operational
as a normal area instead of being deleted.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 00:24:41 -03:00
Renato Westphal
d36a6a19d9 ospf6d: always unset the E-bit on NSSA ABRs
RFC 3101 - Section 2.1 says:
"(..) Interfaces associated with an NSSA will not send or receive
Type-5 LSAs on that interface but may send and receive Type-7 LSAs.
Therefore, if the N-bit is set in the options field, the E-bit must
be clear."

If the E-bit isn't cleared on an NSSA ABR, that will cause hello
packets to be dropped (due to parameters mismatch), which will
prevent the ABR from forming adjacencies with others routers in
the NSSA area.

This problem didn't affect the existing NSSA topotest by chance
of luck.  In that topotest, in the NSSA ABR, the NSSA area is
configured before any interface is associated to it. That caused
ospf6_check_and_set_router_abr() to return false, leading to
the unsetting of the E-bit. With this fix, the order in which
areas/interfaces are configured shouldn't matter because the E-bit
will always be unset on NSSA areas.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-24 00:24:41 -03:00
Christian Hopps
e83c0fb125 tests: use correct key for deleting entry.
OSPF mixes uses of "delete" and "del_action" depending on which library
function is called. It's a bug-prone mess that needs fixing; however, for
now we fix the one obvious incorrect use in this test.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-23 21:42:20 -04:00
nguggarigoud
d43837e6be tests: ospf routemap basic test cases 2.
Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2021-08-23 17:34:33 -07:00
nguggarigoud
9e3bab5f1a tests: adding 11 bgp v4 over v6 test cases.
Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2021-08-23 17:20:24 -07:00
Igor Ryzhov
724739e5c9 doc: merge duplicated ospf6d debugging sections
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-23 21:23:32 +03:00
Igor Ryzhov
6b73885556
Merge pull request #9446 from mobash-rasool/ospfv3-bug-fixes
ospf6d: External LSAs reoriginates on every redistribute CLI
2021-08-23 19:00:23 +03:00
Stephen Worley
95b4a691dd
Merge pull request #9337 from dlqs/lua2
lib: check return on str2sockunion
2021-08-23 08:20:33 -06:00
Mark Stapp
b87c5f4dd1
Merge pull request #9434 from anlancs/fix-zebra-mpls-cmd
zebra: fix wrong check of mpls command
2021-08-23 09:02:15 -04:00
Igor Ryzhov
d889f6f9dd snapcraft: add missing dependency
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-23 15:08:05 +03:00
Mobashshera Rasool
058c4c783f ospf6d: External LSAs reoriginates on every redistribute CLI
Problem Statement:
==================
Everytime redistribute CLI is executed, external LSAs are
re-originated. When there is no change in the CLI parameters
the LSAs should not get re-originated.

Fix:
=================
Check if the CLI params are same, do not re-originate the LSA.

Fixes: #9445

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-08-23 04:47:10 -07:00
Igor Ryzhov
cc86d66028
Merge pull request #9436 from anlancs/fix-vtysh-bfd-exit
vtysh: add "exit" for bfd's profile node
2021-08-23 14:30:13 +03:00
Igor Ryzhov
20c3ffbef1
Merge pull request #9456 from proelbtn/fix-running-config
fix some SRv6 configuration isn't saved correctly
2021-08-23 14:24:03 +03:00
Donatas Abraitis
e71f76f4fb
Merge pull request #9426 from pguibert6WIND/evpn_igp_metric
bgpd: imported evpn rt5 routes copy igpmetric
2021-08-22 21:45:11 +03:00
David Lamparter
4f2ac850af
Merge pull request #9455 from LabNConsulting/chopps/fix-zebtest-fixed-sleep
tests: use std polling for results in zebra_rib test
2021-08-22 20:35:29 +02:00
anlan_cs
37692712a5 ospf6d: fix lock leak of using ALL_LSDB in GR helper
The lsa and lsanext must be unlocked if break out of ALL_LSDB loop.

Incidentally correct the comment of ALL_LSDB.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
2021-08-22 05:26:20 -04:00
anlan_cs
4d97dde2d1 ospf6d: suppress coverity warning of return value
Fix #CID 1506511

Signed-off-by: anlan_cs <anlan_cs@tom.com>
2021-08-21 22:04:12 -04:00
Igor Ryzhov
b52cc03cab
Merge pull request #9441 from wesleycoakley/staticd-warn-nonexistent-route
staticd: warn on attempted delete of non-existent route
2021-08-21 23:11:29 +03:00
Christian Hopps
b604f58641 tests: use std polling for results in zebra_rib test
In particular, the fixed 2 second sleep here was not long enough.
Switch to standard run_and_expect polling to make test more robust.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-21 13:44:48 -04:00
Donald Sharp
3c9fb01d26
Merge pull request #9453 from LabNConsulting/chopps/fix-netns-vrfs
tests: uniq vrf names when using netns
2021-08-21 12:24:42 -04:00
Christian Hopps
6a95bfc8b0 tests: uniq vrf names when using netns
- In order to run tests in parallel the netns-based vrfs need to
have unique names primarily bc they are all tracked/looked-up in
`/run/netns` which is not network namespace nesting friendly

- use ip(8) exclusively rather than a mix of `ip` and `ifconfig`
and `vconfig`, reducing required pkg count by a couple.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-21 06:13:52 -04:00
Donald Sharp
fc69721913
Merge pull request #9450 from LabNConsulting/chopps/fix-bgp-gr-test
tests: fix broken bgp GR test (non-deterministic)
2021-08-20 16:18:19 -04:00
Christian Hopps
8d2e57fe28 tests: fix broken bgp GR test (non-deterministic)
- bugs in the support library function `verify_gr_address_family`
allowed this test to pass depending on ordering of python dictinoary
keys. Fix the bugs, fix the test.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-20 08:24:23 -04:00