Commit Graph

26797 Commits

Author SHA1 Message Date
Donatas Abraitis
016d91cff7
Merge pull request #9479 from AnuradhaKaruppiah/stale_path
zebra: Send path del to bgp for local-inactive path
2021-09-12 20:48:44 +03:00
Donatas Abraitis
0f64a435db
Merge pull request #9475 from iqras23/change1
bgpd: VRF-Lite fix nexthop type
2021-09-12 20:47:18 +03:00
Kuldeep Kashyap
77e7e50ea6 tests: Optimize test_multicast_pim_sm_topo1.py
1. Optimized test: test_clear_pim_neighbors_and_mroute_p0 run time by clearing
mroute and verifying mroutes separately. Execution time is reduced from almots 10 mins
to ~220 sec.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2021-09-12 16:34:09 +05:30
enigamict
eaa4bbc353 tests: fix typo in zebra.conf
Signed-off-by: enigamict <mochienper@gmail.com>
2021-09-11 20:33:12 +09:00
Ryoga Saito
24b3c59c2d zebra: copy nexthop_srv6 in nexthop_set_resolved
Current implementation doesn't copy nexthop_srv6. This causes unexpected
behavior when receiving SID information and nexthop isn't onlink.t

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-09-10 22:30:00 +00:00
Anuradha Karuppiah
12d67b65bb bgpd: remove es_path VNI display from type-2 routes
EVPN paths are maintained in per-ES list for efficient updates
(es→macip_global_path_list, es→macip_evi_path_list). VNI is also maintained
in path_extra for easy lookups. This (path_extra) VNI (which is always 0 for
global paths) was being displayed against the path and was mis-interpreted
as the BD.

To avoid that confusion I have removed the display.

Ticket: #2732605

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2021-09-10 11:35:50 -07:00
Russ White
3e2321b88c
Merge pull request #9019 from pjdruddy/ospfv3-early-break-list-walk
ospf6d: break early on route prefix mismatch
2021-09-10 14:29:53 -04:00
Russ White
94e7c58442
Merge pull request #9597 from donaldsharp/ospf6_header_cleanup
ospf6d: Cleanup headers to our standard
2021-09-10 14:24:19 -04:00
Russ White
5bdc0346dc
Merge pull request #9594 from donaldsharp/strict_prototypes
Strict prototypes
2021-09-10 14:23:49 -04:00
Donald Sharp
0d39b8f2f0
Merge pull request #9573 from LabNConsulting/chopps/update-template
tests: update the test template and doc
2021-09-10 10:49:00 -04:00
Donald Sharp
ac60528b5c tests: Break up route_scale into 2 separate tests
route_scale run is 500+ seconds.  Break it up into
2 separate tests.  This should reduce run time a slight
bit.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-10 08:27:49 -04:00
Donald Sharp
7932dd9331 ospf6d: Cleanup headers to our standard
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-09 16:42:52 -04:00
Quentin Young
32acb4a7ad
Merge pull request #9497 from opensourcerouting/cli-better-no 2021-09-09 12:22:53 -04:00
Donald Sharp
75fef2a4da isisd: Remove weird wrapper function that downgrades time_t to 32 bit
Just use time_t, instead of downgrading time_t to a 32 bit value.
We should be using time_t instead of 32 bit unsigned values.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-09 09:09:31 -04:00
Donald Sharp
e81a74a642 pathd: Ensure node_src_id is inited before usage
Compiler is warning that node_src_id may be used uninited
we know this is not possible but the compiler doesn't.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-09 09:02:12 -04:00
Donatas Abraitis
565e9ddded bgpd: Do not strip peer's description by whitespace in show bgp summary
```
~/frr# vtysh -c 'show run' | grep description
 neighbor 192.168.0.2 description test 1 2 3
~/frr# vtysh -c 'show ip bgp summary' | grep -E "Desc|192.168.0.2"
Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.0.2     4          0         0         0        0    0    0    never      Connect        0 test 1 2 3
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-09-09 14:15:48 +03:00
Donald Sharp
9b8a1ad49e tests: We follow strict prototyping rules
Compiling with -Wstrict-prototypes is causing some complaints
during compiling. Make things happy.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-09 06:33:12 -04:00
Donatas Abraitis
f334c88ed9
Merge pull request #9581 from idryzhov/rpki-source-move
bgpd: move rpki source after the server config
2021-09-09 09:37:02 +03:00
Martin Winter
87980f1311
tests: Fix BGP check in all_protocol_startup
Fix issue of topotest failures with BGP status Connect or Idle
instead of the expected Active

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2021-09-09 02:31:13 +02:00
Russ White
d79b88c5a1
Merge pull request #9578 from donaldsharp/SLASH_ESCAPE
Slash escape
2021-09-08 20:11:07 -04:00
Russ White
c0fc69f119
Merge pull request #9553 from donaldsharp/router_id
Router id optimizations
2021-09-08 17:21:20 -04:00
Igor Ryzhov
484fc3741b bgpd: move rpki source after the server config
Currently the source IP parameter must be entered between destination IP
and destination port parameters. This is not obviously understandable
when you read such config so let's move the source parameter to the end
of the command line, after the whole list of destination parameters. We
can do this without any deprecation cycle as the parameter was introduced
just recently and isn't in any public release yet.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-08 23:43:55 +03:00
Igor Ryzhov
68d4b72ff3 tests: add one more check for default-originate with route-map
Make sure that we don't set communities from a random RIB route when
originating the default route.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-08 23:37:50 +03:00
Igor Ryzhov
ab798674c0 bgpd: fix aspath memory leak
We allocate an as-path using bgp_attr_default_set and should free it
before exiting the function.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-08 23:37:50 +03:00
Igor Ryzhov
bf844bac67 bgpd: fix default-originate route-map processing
When processing a route-map for default-originate, we actually want to
match by attributes in routes from the RIB, but set attributes in the
newly originated route. Currently, it's not the case. Instead, we
construct a dummy path combining attributes from both routes, and we end
up with multiple problems:
- match by as-path doesn't work
- communities from the matched RIB route are copied to the newly
  originated route
- we corrupt the RIB routes

To fix the issue, we should use the new route-map API that allows using
separate match/set objects.

Fixes #9584.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-08 23:37:50 +03:00
Igor Ryzhov
c212584717 lib: add ability to supply separate match/set objects to routemaps
Sometimes it's needed to match by fields of one object but set fields of
another object. The following commit is an example.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-08 23:37:50 +03:00
Christian Hopps
1375385adf
tests: increase wait and update test
Modernize the test a bit, generate expected results rather than load from
file, and add a general json_cmp with retry function and use it.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-08 15:25:52 -04:00
Donald Sharp
930d7c4921
Merge pull request #9582 from LabNConsulting/chopps/fix-xterm-windows
tests: fix xterm windows for topotests, better errors
2021-09-08 13:57:39 -04:00
Christian Hopps
9b6f04c07c tests: update the test template and doc
- Update the template and documentation to use newer pytest fixutres for
setup and teardown, as well as skipping tests when the suite fails.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-08 13:09:41 -04:00
Mark Stapp
75ec7bdb5d
Merge pull request #9572 from LabNConsulting/chopps/fix-cleanup
tests: deal with parallel exit of process we are reaping
2021-09-08 12:26:51 -04:00
Donald Sharp
4fcda740dc
Merge pull request #9566 from LabNConsulting/chopps/easy-fancy-json-setup
tests: new improved simple JSON template w/ doc update
2021-09-08 11:29:52 -04:00
Christian Hopps
3e28c32575
Merge pull request #9583 from donaldsharp/remove_addKernelRoute_usage
Remove add kernel route usage
2021-09-08 11:24:49 -04:00
Donald Sharp
b041a12749 tests: Set mask to a default value for addKernelRoute
When looking for a implied host route it is not necessary
to add the `/32` to an ip route add.  As such masks
will not be set in this case.  Set the value of masks
to a known good value so that when the route installation
fails the test for it actually being there will tell you
that the route is not there -vs- complaining about mask
being uninited.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-08 07:53:04 -04:00
Donald Sharp
51eb2eef3c tests: Remove unneeded calls to addKernelRoutes
There is no need to add calls to addKernelRoutes for
groups.  They do not need to be routed via the
normal kernel methodology.

Tests run successfully with this change.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-08 07:53:04 -04:00
Russ White
5e6004e53a
Merge pull request #9491 from opensourcerouting/totally-nssa
ospf6d: add support for NSSA totally stub areas
2021-09-07 19:44:52 -04:00
Christian Hopps
1726edc301
tests: fix xterm windows for topotests, better errors
- Fix xterm support to work, previously it mostly didn't, not it should
in all cases (i.e., single or dist mode).

- Catch when the user tries to use various window requiring topotests
features (e.g., --cli-on-error) but isn't running under supported
system (e.g., byobu/tmux/xterm), and fail the run with an explanation.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-07 15:50:59 -04:00
Anuradha Karuppiah
bda6be1c8b zebra: Send path del to bgp for local-inactive path
Problem:
When IP1:M1 (local) moved to IP1:M2 (remote-VTEP) bgpd continues to
advertise IP1:M1.

Fix:
Local path del is sent to bgp if the neigh was {local-active||peer-active}.
So path del needs to be called before the sync flags (including peer-active)
are cleared.

Ticket: #2706744

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2021-09-07 09:53:48 -07:00
Donald Sharp
a1f35d7e7c zebra: If we hand set the router-id only update everyone if it changes
When we hand set the router-id, but we have choosen a router-id
that is already the `winner` there is no point in updating anyone
with this data.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-07 12:53:38 -04:00
Donald Sharp
0114135890 zebra: Do not send a router-id of 0.0.0.0 when we don't know it yet
At startup there exists a time frame where we might not know
a particular vrf's router id.  When zebra gets a request for
it let's not just blindly send whatever we have.  Let's be
a bit smart and only respond with one if we have one.
The upper level protocol can wait for it to have one.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-07 12:53:37 -04:00
Quentin Young
48a202b20a
Merge pull request #9576 from MajesticFalcon/master
ripd: Fix spelling errors
2021-09-07 12:53:27 -04:00
G. Paul Ziemba
d3bb30f588 doc/developer: adding a CLI node: mention frr-reload.py and VTY_PUSH_XPATH
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2021-09-07 09:51:49 -07:00
G. Paul Ziemba
a383d4d201 vrf_name_to_id(): remove
vrf_name_to_id() returned VRF_DEFAULT when the vrf name was
    unknown, hiding errors. Per community recommendation, vrf_name_to_id()
    is now removed and the few callers now use vrf_lookup_by_name()
    directly.

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2021-09-07 09:47:24 -07:00
Russ White
2ca7780ab5
Merge pull request #9533 from mobash-rasool/ospfv3-bug-fixes
ospfd: ASBR Summary LSA is not originated when process is reset
2021-09-07 10:59:33 -04:00
Russ White
dd786181cc
Merge pull request #9539 from ton31337/fix/floating_point_cli
bgpd: Replace `Enable` to `Disable` for floating-point bw encoding CLI
2021-09-07 10:57:24 -04:00
Russ White
12b5b2f9ff
Merge pull request #9551 from mobash-rasool/ospfv2-bug-fixes-04
ospfd: GR Conformance fix in Hello packet DR election
2021-09-07 10:47:09 -04:00
Russ White
91aaac3ac2
Merge pull request #9552 from mobash-rasool/ospfv2-bug-fixes-03
ospfd: ANVL Test case 25.22, 25.23 and 28.11 fixes
2021-09-07 10:46:33 -04:00
Renato Westphal
fee16c7ef3 tests: extend the ospf6_topo2 to test totally stub NSSAs
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-07 11:43:36 -03:00
Renato Westphal
8a60820f70 ospf6d: add support for NSSA totally stub areas
Add a knob to turn a NSSA area into a totally stub area. In this
configuration a Type-3 default summary route is generated by default.

Syntax: `area A.B.C.D nssa no-summary`.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-07 11:43:35 -03:00
Donald Sharp
19d37e54a0 ospfd: Don't allocate json memory unless we have json output
Several functions in ospf_vty.c were allocating json memory
irrelevant if it was needed or not and then at the end of the loop
free'ing it if it was not used.  Clean up the access pattern.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-07 10:10:50 -04:00
Donald Sharp
192422ef3b bgpd: Fix usage of JSON_C_TO_STRING_NOSLASHESCAPE
The usage of json_object_to_json_string_ext is mean for
generation of output string and returns a `char *` pointer
to the `formatted` output.  Just calling it does nothing
and it's expensive to boot.

Modify the code in bgpd to just output with the NOSLASHESCAPE
when outputting.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-09-07 09:40:12 -04:00