Commit Graph

26761 Commits

Author SHA1 Message Date
Igor Ryzhov
667dcc277c lib: fix prefix-list duplication check
Currently, when we check the new prefix-list entry for duplication, we
only take filled in fields into account and ignore optional fields.
For example, if we already have `ip prefix-list A 0.0.0.0/0 le 32` and
we try to add `ip prefix-list A 0.0.0.0/0`, it is treated as duplicate.
We should always compare all prefix-list fields when doing the check.

Fixes #9355.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-10 22:31:42 +03:00
Mobashshera Rasool
e474c14373 ospfd: ospf redistribute originating LSA internal connected routes
When OSPF is disabled on interface and enabled again, the IP which is
not matching the prefix-list is getting originated as External LSA.

Fixes: #9362

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-08-10 09:41:14 -07:00
Mark Stapp
deb28338de zebra: ignore unknown address-family in netlink route msg
Ignore AFs we don't handle in incoming netlink route
updates.

Signed-off-by: Mark Stapp <mjs.ietf@gmail.com>
2021-08-10 11:44:08 -04:00
Sri Mohana Singamsetty
dd4c59d79a
Merge pull request #9236 from AnuradhaKaruppiah/v6-nh-rmac
zebra: use a separate dummy prefix for referencing v6 nexthops
2021-08-10 08:20:55 -07:00
Donald Sharp
bde0fd77d9
Merge pull request #9348 from dlqs/consecutive
lib: lua: consecutive script calls
2021-08-10 10:11:35 -04:00
Russ White
227ffdfe61
Merge pull request #9290 from ranjanyash54/ecmp_delete_route
ospf6d: Check the cost only when asbr_present for ECMP routes
2021-08-10 09:57:52 -04:00
Russ White
ec179bcbba
Merge pull request #9300 from donaldsharp/ospf_header
ospfd: Cleanup ospf_interface.h to work with our standards
2021-08-10 09:50:50 -04:00
Russ White
800ac2d7b5
Merge pull request #9328 from donaldsharp/peer_deletion
bgpd: bgp_packet_process_error can access peer after deletion
2021-08-10 09:33:58 -04:00
Russ White
28b946f9e5
Merge pull request #9343 from ton31337/fix/dont_convert_by_default_to_alias
bgpd: Fix bgp routes filtering by [l]community-list
2021-08-10 09:33:08 -04:00
rgirada
9a06f23d0b ospf6d: GR helper exit scenarios
Description:
	Changes to cover all the following  GR helper exit scenarios.
	1. Upon receiving max age grace lsa.( successful graceful restart)
	2. Topo change
	3. Grace timer expiry.
	4. User changes( like config deletion , interface down)

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10 02:57:23 -07:00
rgirada
0d1753a7db ospf6d: Helper functionality changes
Description:
	1. changes to process GRACE LSA packet.
	2. Validation changes to enter Helper role.
	3. Helper functionality during graceful restart.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10 02:57:23 -07:00
rgirada
0694366601 ospf6d: debug command support for helper support.
Description:
	Adding debug support for helper functionality.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10 02:57:23 -07:00
rgirada
59790f521a ospf6d: Init/De-init gr helper functionality
Description:
	Graceful restart helper functionality initialisation and deinit apis.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10 02:57:23 -07:00
rgirada
91c169f7d7 ospf6d: Datastructure modification for GR helper functionality.
Description:
	Adding GR helper specific datastructures.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10 02:57:23 -07:00
rgirada
6539d9ef45 ospf6d: documentation for ospf6 GR helper functionality
Description:
	Documentation for ospf6 graceful restart Helper
	functionality. Ref RFC : 5187.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10 02:57:23 -07:00
Igor Ryzhov
bdb7b7c5d9
Merge pull request #9321 from donaldsharp/no_leak_re
zebra: Prevent memory leak if route is rejected early
2021-08-10 11:39:30 +03:00
Donatas Abraitis
77a3a95eaa bgpd: Auto-complete for show bgp <afi> <safi> large-community-list
```
exit1-debian-9# show ip bgp large-community-list
  (1-500)               large-community-list number
  LCOMMUNITY_LIST_NAME  large-community-list name
     large-testas
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-10 11:06:22 +03:00
Donatas Abraitis
96870ecb05 bgpd: Auto-complete for show bgp <afi> <safi> community-list
```
exit1-debian-9# show ip bgp community-list ?
  (1-500)              community-list number
  COMMUNITY_LIST_NAME  community-list name
     testas
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-10 11:06:12 +03:00
Donatas Abraitis
225096bcd1 bgpd: Auto-complete for community lists
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-10 10:56:26 +03:00
Christian Hopps
36cd3e81e8 tools: add ospfd support bundle commands
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-10 07:39:18 +00:00
Donald Lee
0db2bfc5ac lib: Remove extraneous braces
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-10 15:37:30 +08:00
Christian Hopps
cb04c8e906
Merge pull request #9219 from mobash-rasool/ospfv2-bug-fixes
tools: Add ospfv2 and ospfv3 commands in support bundle
2021-08-10 03:14:43 -04:00
Donatas Abraitis
947a27f5ae tests: Make sure BGP filters by community lists work with community alias
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-10 09:46:16 +03:00
Donatas Abraitis
f4dd829679 bgpd: BGP extended [l]community-list regexp match must work with aliases
We have to convert BGP alias to numerical format to compare in regexp.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-10 09:46:15 +03:00
Donald Lee
5141fd7f8e doc: fix unrelated typo
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-10 07:35:32 +08:00
Donald Lee
c42f38b8df doc: Update for consecutive frrscript_call
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-10 07:35:32 +08:00
Donald Lee
2ed598ba6b lib: Enable consecutive frrscript_call
Previous:
 - frrscript_load: push Lua function onto stack
 - frrscript_call: calls Lua function

Now:
 - frrscript_load: checks Lua function
 - frrscript_call: pushes and calls Lua function (first clear the stack)

So now we just need one frrscript_load for consecutive frrscript_call.
frrscript_call does not recompile or reload the script file, it just
keys it from the global Lua table (where it should already be).

Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-10 07:35:32 +08:00
Donald Lee
80bfe93670 tests: Add test consecutive frrscript_call
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-10 07:28:39 +08:00
Mark Stapp
c123e9df54
Merge pull request #9299 from donaldsharp/zebra_should_continue
Zebra should continue
2021-08-09 13:16:10 -04:00
Mobashshera Rasool
523232c5c5 ospf6d: Remove Type-7 LSA when Type-5 LSA is removed
Fix:
When summarised Type-5 LSA is removed, the corresponding Type-7
LSAs also need to be removed from area.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-08-09 09:11:10 -07:00
Mobashshera Rasool
4e0702dc74 ospf6d: Remove assert and fix LSA removal in ASBR summarisation
Fix:
1. The assert at line ospf6_asbr.c:2849 is not required.
2. When Individual LSAs are present and summarisation is configured
we need to remove such LSAs and originate the summarised ones.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-08-09 09:11:04 -07:00
Quentin Young
edc6ea2ec5
Merge pull request #9273 from dlqs/luadofilefix
lib: Fix dead code from lua_dofile
2021-08-09 09:55:35 -04:00
Donald Sharp
38c764dde4 zebra: Properly note add/update for rib_add_multipath_nhe
When calling rib_add_multipath_nhe ensure that we have
well aligned return codes that mean something so that
interersted parties can properly handle the situation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-09 08:06:33 -04:00
Donald Sharp
f94a7703c0 zebra: Prevent memory leak if route is rejected early
When receiving a route via zapi, if the route is rejected
there exists a code path where we would not free the corresponding
re created.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-09 07:55:07 -04:00
Steffen Neubauer
0fc6a5f8ed tools: fix frr pathspace folder permissions
The pathspace folder in /var/run needs the x permission for the group too

Otherwise vtysh fails when running it with groups frrvty and frr:

    $ vtysh -N gateway
    % Can't open configuration file /etc/frr/gateway/vtysh.conf due to 'Permission denied'.
    vtysh_connect(/var/run/frr/gateway/zebra.vty): stat = Permission denied

Signed-off-by: Steffen Neubauer <s.neubauer@syseleven.de>
2021-08-09 13:54:58 +02:00
Igor Ryzhov
aaddf974c5 staticd: replace NB checks with assert
If there's no route table in a VRF, it's a hard bug - staticd will crash
on any subsequent action with this route anyway. So let's assert the
existence of a route table instead of returning an unrecoverable error.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-09 12:48:38 +03:00
Donald Lee
a852e5a62d lib: check return on str2sockunion
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-09 17:19:28 +08:00
Donatas Abraitis
d04e7788c1
Merge pull request #9324 from donaldsharp/bgp_info_cmp
bgpd: Store distance received from a redistribute statement
2021-08-09 10:36:43 +03:00
Donatas Abraitis
4de721ee97
Merge pull request #9305 from proelbtn/patch-1
bgpd: fix typo in ensure_vrf_tovpn_sid
2021-08-09 10:35:10 +03:00
Donatas Abraitis
e885e97d87
Merge pull request #9325 from anlancs/fix-lib-warning
lib: Fix coverity warning of return value
2021-08-09 10:34:38 +03:00
Igor Ryzhov
ee78534054 vtysh: fix daemon for srv6 commands
All these commands are zebra-only. We shouldn't send them to pathd.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-08 22:41:10 +03:00
Donald Sharp
1fae5c8e28 bgpd: bgp_packet_process_error can access peer after deletion
in bgp_io.c upon packet read of some error we are storing
the peer pointer on a thread to call bgp_packet_process_error.
In this case an event is generated that is not guaranteed to be
run immediately.  It could come in *after* the peer data structure
is deleted and as such we now are writing into memory that we
no longer possibly own as a peer data structure.

Modify the code so that the peer can track the thread associated
with the read error and then it can wisely kill that thread
when deleting the peer data structure.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-08 08:23:24 -04:00
Donald Sharp
2570a9f165
Merge pull request #8262 from reubendowle/fixes/nhrp-misc-fixes
nhrp misc fixes
2021-08-08 07:27:41 -04:00
Donald Sharp
a66413a53b
Merge pull request #8870 from anlancs/master-fix-reload-service
tools: add "vni" to oneline list
2021-08-08 07:21:10 -04:00
anlan_cs
4b0d126794 lib: Fix coverity warning of return value
Suppress coverity warning on unchecked str2sockunion's return value.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
2021-08-07 21:57:55 -04:00
Donald Sharp
957f74c302 bgpd: Store distance received from a redistribute statement
When bgp receives the admin distance from a redistribution statement
let's store that distance for later usage.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-07 20:27:45 -04:00
Donald Sharp
62c173755d
Merge pull request #9283 from ton31337/fix/documentation_for_aggregate-address
doc: Specify how aggregate-address works for BGP
2021-08-07 16:07:34 -04:00
Donatas Abraitis
7e736c7706
Merge pull request #9253 from donaldsharp/igmp_no
pimd: Allow more permisive versions of some no commands
2021-08-07 22:49:25 +03:00
Donald Sharp
f932b4eef3
Merge pull request #9313 from idryzhov/bgp-zebra-opaque
BGP opaque data improvements
2021-08-07 15:12:02 -04:00
Donald Sharp
720f165fc9
Merge pull request #9315 from idryzhov/pathd-cli-fixes
pathd: a couple of cli/doc fixes
2021-08-07 15:10:05 -04:00