Commit Graph

24797 Commits

Author SHA1 Message Date
Donald Sharp
5df73b0543 vtysh: Expose SR node for non pathd use cases
The SR node is hidden by a `--enable-pathd` configuration option.
But the recent commit of SRv6 uses this node as well.  Let's expose
this node and let things work.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-06-23 08:28:02 -04:00
Donald Sharp
b2c42dda96
Merge pull request #8853 from ton31337/fix/bgp_dest_lock_unlock
bgpd: Make sure we don't miss to unlock for bgp_dest before returning
2021-06-23 07:59:32 -04:00
Donald Sharp
792ae3b3b5
Merge pull request #8901 from ton31337/feature/bgp_default_route_originate_match
tests: Add an additional conditional BGP default route advertisement
2021-06-23 07:53:39 -04:00
Rafael Zalamena
bc496de111
Merge pull request #8899 from idryzhov/ospf6-asbr
ospf6 redistribution fixes
2021-06-23 07:15:12 -03:00
Donald Sharp
2afd15f5c6
Merge pull request #8656 from opensourcerouting/xref-5424-prep-2
lib: preparations for RFC5424 syslog support
2021-06-23 06:08:41 -04:00
Abhinay Ramesh
4069972831 ospf6d: Show neighbor displays twice for every neighbor.
Problem Statement:
=================
When show ipv6 ospf6 neighbor is executed each neighbor gets
displayed twice.

frr# show ipv6 ospf6 neighbor
Neighbor ID     Pri    DeadTime    State/IfState         Duration I/F[State]
1.1.1.1           1    00:00:39     Full/DR              00:00:10 ens192[BDR]
1.1.1.1           1    00:00:39     Full/DR              00:00:10 ens192[BDR]

RCA:
====
Since ospf6_interface gets added twice to if_list we see multiple
display output.

Fix:
====
add ospf6_interface to if_list only when newly area gets attached
to the interface. If its already added no need to add it again.

Risk:
=====
Low

Tests Executed:
===============
Have tested the defect scenario.

frr# show ipv6 ospf6 neighbor
Neighbor ID     Pri    DeadTime    State/IfState         Duration I/F[State]
1.1.1.1           1    00:00:35     Full/DR              00:36:04 ens192[BDR]
frr#

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2021-06-23 09:24:35 +00:00
Patrick Ruddy
fa855f8fa3
Merge pull request #6695 from adharkar/frr-master-gateway_ip
EVPN route type-5 gateway IP overlay Index
2021-06-23 09:23:54 +01:00
Igor Ryzhov
edfab98f9e ospf6d: fix NSSA status update
We should update ASBR status only when the NSSA status is actually changed.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-23 01:05:07 +03:00
Igor Ryzhov
bf84c96dae ospf6d: fix redistribute configuration
ospf6_asbr_redistribute_unset must not be called if the redistribution
is not yet configured, because it decrements redistribution counter and
makes it negative in this case.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-23 01:05:07 +03:00
Igor Ryzhov
2fdc4f8dea ospf6d: small ospf6_asbr_redistribute_set improvement
We always have a pointer to the ospf6 instance when the function is called.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-23 01:05:07 +03:00
Donatas Abraitis
e71ad4b64e bgpd: Make sure we don't miss to unlock for bgp_dest before returning
bgp_node_lookup() increases `lock` which is not decreased on return.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-06-22 23:14:47 +03:00
Russ White
4cc0f752dd
Merge pull request #8905 from donaldsharp/isis_argv
Isis argv
2021-06-22 14:22:55 -04:00
Quentin Young
f4e7b6ba47
Merge pull request #8902 from idryzhov/isis-lsp-for-arg
isisd: fix uninitialized variable when searching for LSP
2021-06-22 18:22:44 +00:00
Donald Sharp
1d88e63a4e isisd: using argv as a string name is categorically wrong
We are passing around the system id using the variable name
of `argv`.  Let's name the variable correctly and pass it around
correctly named.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-06-22 13:03:00 -04:00
Donald Lee
4b827e08a1 tests: enable lua script tests in ubuntu-20 ci
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-23 00:58:39 +08:00
Donald Lee
e06feaf8fe tests: Add unit test for lua encoders/decoders
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-23 00:58:39 +08:00
Donald Lee
62510c0948 lib: use in6addr comparator in test
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-23 00:58:04 +08:00
Donald Lee
8192b47173 lib: Pop tables off Lua stack when decoding
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-23 00:58:04 +08:00
Donald Lee
1e0e4d2355 tests: Add unit test for lua scripting
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-23 00:58:04 +08:00
Donald Sharp
730649da0e isisd: already checked for NULL
in lsp_for_arg we have already checked for NULL and returned
if argv is null.  We do not need to check for it again.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-06-22 12:36:16 -04:00
Russ White
590303a029
Merge pull request #8878 from idryzhov/fix-ospf6-neighbor-detail
ospf6d: fix "show ipv6 ospf6 neighbor" command
2021-06-22 11:27:17 -04:00
Russ White
b79f1e068e
Merge pull request #8725 from pjdruddy/ospfv3_fair_socket
OSPFv3 socket rework
2021-06-22 10:58:33 -04:00
Igor Ryzhov
9ff7c74bdd isisd: fix uninitialized variable when searching for LSP
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-22 17:53:26 +03:00
Donatas Abraitis
8cfca51df5 tests: Add an additional conditional BGP default route advertisement
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-06-22 17:34:59 +03:00
Russ White
7fd86e2811
Merge pull request #8820 from anlancs/master-vtysh-hostname
doc: add a note of hostname/domainname for vtysh
2021-06-22 10:06:05 -04:00
Russ White
c4b5d96519
Merge pull request #8869 from leonshaw/master
bgpd: Force process networks on VRF creation
2021-06-22 09:57:06 -04:00
Russ White
6d824d6940
Merge pull request #8891 from idryzhov/no-vrf-interface
lib: remove vrf-interface config when removing the VRF
2021-06-22 09:55:11 -04:00
Russ White
d550a64cd0
Merge pull request #8557 from rgirada/ospf_type5_fix
ospfd: External lsa handling in opaque capabilities enable/disable
2021-06-22 09:45:27 -04:00
Russ White
1332a177b2
Merge pull request #8334 from ranjanyash54/last_dbdesc
ospf6d: Release last dbdesc packet after router dead interval
2021-06-22 09:38:21 -04:00
Mark Stapp
a78dde0dcd
Merge pull request #8867 from wesleycoakley/pbr-table-range-single-line
tools: make frr-reload recognize `pbr table range` lines as single-line contexts
2021-06-22 09:12:02 -04:00
Donatas Abraitis
cc54c07298 tests: Check if as-path prepends work with route-maps and default-originate
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-06-22 15:51:07 +03:00
Donatas Abraitis
85d93b166e bgpd: Allow aspath prepending for default-originate with route-maps
The initial idea was to deny prepending and just use _self_.

This patch at least allows prepending aspath with route-maps, but drops
all non-self ASNs in the path.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-06-22 15:51:07 +03:00
Donald Sharp
64fcf85d38
Merge pull request #8892 from idryzhov/fabric-no-instance
fabricd: fix running config
2021-06-22 08:09:05 -04:00
Javier Garcia
120e524f70 pathd: Sanity checks. (4/4)
Co-authored-by: Javier Garcia <javier.garcia@voltanet.io>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
2021-06-22 12:04:03 +02:00
Javier Garcia
ab7fe289b9 pathd: Handle PCInitiated configuration, main thread. (3/4)
Co-authored-by: Javier Garcia <javier.garcia@voltanet.io>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
2021-06-22 12:04:03 +02:00
Javier Garcia
5663492239 pathd: Handle PCInitiated messages, thread controller. (2/4)
Co-authored-by: Javier Garcia <javier.garcia@voltanet.io>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-06-22 12:04:03 +02:00
Javier Garcia
5fe7f5b479 pceplib: Extract fields needed for PcInitiated with Cisco pce. (1/4)
1.- Unknown/non-standard tlv where cisco sends BSID.
2.- Non-standard Vendor Info object where cisco sends color.

Co-authored-by: Javier Garcia <javier.garcia@voltanet.io>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-06-22 12:04:03 +02:00
Donald Lee
fa2bb2e8d3 bgpd: Update routemap example with new script call
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 05:08:35 +08:00
Donald Lee
81fde499e5 lib: Use noop decoder for bgp_script values
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 05:08:25 +08:00
Donald Lee
7e058da5bc lib: Add lua noop decoder
Use this noop decoder for const values (since we can't mutate a const
value passed into frrscript_call anyways) or values we don't want to
write a decoder for.

Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 05:03:12 +08:00
Donald Lee
b7da61c1d1 bgpd: Update bgp_script encoders and decoders
This is an example of creating encoders and decoders for user defined
structs and registering them in the ENCODE_ARGS DECODE_ARGS macro
in frrscript.

Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 05:03:07 +08:00
Donald Lee
bdc1085d7b lib: Update script SCRIPT command
Can now test out script by modifying a prefix

Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 05:02:12 +08:00
Donald Lee
3a3cfe4762 lib: Add decoder functions
Split existing lua_to* functions into two functions:
 - lua_decode_*: unmarshall Lua values into an existing C data structure
 - lua_to*: allocate *and* unmarshall Lua values into C data structure
This allows us to mutate C data structures passed into frrscript_call,
without allocation

Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 05:02:03 +08:00
Donald Lee
c2642aab24 lib: Add basic encoders
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 04:55:19 +08:00
Donald Lee
43a5106d42 lib: make frrscript_call encode args based on type
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 04:51:22 +08:00
Donald Lee
249cd5daa7 lib: Add MAP_LIST macro
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-22 04:46:16 +08:00
Igor Ryzhov
ee3e6d7ff3 ospf6d: fix "show ipv6 ospf6 neighbor" command
Simplify the logic and fix processing of "detail" and "drchoice"
arguments.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-21 18:42:49 +03:00
Igor Ryzhov
b0f8f4d23e fabricd: fix running config
Daemons should not output warnings into the running config.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-21 18:12:45 +03:00
Igor Ryzhov
f5eef2d5a8 lib: remove vrf-interface config when removing the VRF
If we have the following configuration:
```
vrf red
 smth
 exit-vrf
!
interface red vrf red
 smth
```
And we delete the VRF using "no vrf red" command, we end up with:
```
interface red
 smth
```
Interface config is preserved but moved to the default VRF.

This is not an expected behavior. We should remove the interface config
when the VRF is deleted.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-21 18:04:46 +03:00
rgirada
a4d9009d47 ospfd: External lsa handling in opaque capabilities enable/disable
Description:
	When opaque capability disabled/enabled , all the self-originated lsa will be
	flushed and it will make the neighbours to renegotiate.
	But here, external lsas are not being re-originated after negotiation
Fix:
	Refresh/re-originate external lsas(Type-5 and Type-7) explicitly after
	re-negotiation.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-06-21 01:51:00 -07:00