Commit Graph

22569 Commits

Author SHA1 Message Date
Donald Sharp
6351ea6ebf
Merge pull request #7886 from volta-networks/master
pathd: add meaningful names to threads
2021-01-19 09:12:30 -05:00
Rafael Zalamena
af05c8951c
Merge pull request #7840 from pguibert6WIND/bfd_misc_fixes_vrflite
Bfd misc fixes
2021-01-19 10:10:04 -03:00
Russ White
21a7815dc1
Merge pull request #7863 from chiragshah6/mdev
[yang,staticd]: remove when condition from static nexthop om
2021-01-19 07:48:28 -05:00
Russ White
a02d1bbfaa
Merge pull request #7884 from donaldsharp/null_stuff
Null stuff
2021-01-19 07:44:21 -05:00
Russ White
4c35f214b7
Merge pull request #6455 from GalaxyGorilla/bfd_ospf_topotest
tests: Introduce BFD OSPFv2/v3 topotests
2021-01-19 07:39:05 -05:00
Russ White
c0b6ef23f7
Merge pull request #7639 from qlyoung/frr-lua
Scripting
2021-01-19 07:17:03 -05:00
Javier Garcia
5ffdc11eda pathd: add meaningful names to threads
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-01-19 11:42:48 +01:00
Donald Sharp
46e6f9f2ad lib: Correctly set temp file permissions
Set the temp file permissions to limit who can read
the file.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-18 09:32:00 -05:00
Donald Sharp
f6e07e1bdf bgpd: Use uint32_t for size value instead of int in ecommunity struct
The `struct ecommunity` structure is using an int for a size value.
Let's switch it over to a uint32_t for size values since a size
value for data can never be negative.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-18 09:06:49 -05:00
Donald Sharp
3a15018892 zebra: Tell SA that we are intentionally ignoring the return
Calling fpm_nl_enqueue we should expect a it fit or not
return value on the outgoing stream.  This is not necessary
to check here because the while loop where we are checking this
already has ensured that the data being written will fit.

CID -> 1499854
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-18 09:06:49 -05:00
Donald Sharp
920bb6f76a pbrd: Prevent possible NULL use
the pnhi data structure can receive either a interface or a
nhr data structure.  Ensure that we don't crash.

CID -> 1500586
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-18 09:06:49 -05:00
Donald Sharp
5c8ecf6e46 bgpd: attr is already derefed cannot be null here
In the function bgp_adj_out_set_subgroup, the attr pointer
is already derefed in all paths leading to a test for NULL.
You cannot pass a NULL attribute in since the whole function
would just immediately crash.

CID -> 1500604
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-18 09:06:49 -05:00
Donald Sharp
4168228f25
Merge pull request #7790 from mobash-rasool/ospfv3-max-path
ospfd: Clear ip ospf process and clear ip ospf neighbor
2021-01-18 06:44:18 -05:00
Donatas Abraitis
fba9c8d2fd
Merge pull request #7874 from donaldsharp/more_pytest_mark
More pytest mark
2021-01-18 10:12:24 +02:00
Donatas Abraitis
aedb252280
Merge pull request #7873 from donaldsharp/bgp_gtsm_peer_group_fix
bgpd: Allow peer-groups to have `ttl-security hops` configured
2021-01-18 10:10:51 +02:00
Martin Winter
849909ef51
Merge pull request #7882 from donaldsharp/keepalive_default
tests: Set default timers to 3/10 for bgp using create_router_bgp
2021-01-17 20:49:51 +01:00
Donald Sharp
6c04922259
Merge pull request #7881 from logbob0401/correct_sysrepo_lib_name
Correct sysrepo library name in configure.ac
2021-01-16 10:21:03 -05:00
Donald Sharp
e1713aa16d tests: Set default timers to 3/10 for bgp using create_router_bgp
Tests were timing out in our test system due to lost packets and
flakiness of the lower end systems.  Just set the timers to 3/10
and give them plenty of time to converge.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-16 08:29:49 -05:00
Bo Zhang
9a3b4141db configure.ac: Correct library name for sysrepo
Northbound_sysrepo: Correct sysrepo library name in configure.ac

Signed-off-by: Bo Zhang <logbob0401@gmail.com>
2021-01-15 22:09:27 -08:00
Donald Sharp
e43bb30294
Merge pull request #7878 from opensourcerouting/ldpd-metric-issue
ldpd: fix sporadic failures in the ldp-topo1 topotest
2021-01-15 18:24:38 -05:00
Mark Stapp
18768cc1f9
Merge pull request #7875 from deastoe/fpm-nlmsg-pid
zebra: set nlmsg_pid in netlink msgs sent by 'fpm'
2021-01-15 16:28:46 -05:00
Renato Westphal
1fd7ae7268 ldpd: fix sporadic failures in the ldp-topo1 topotest
Commit 220e848cc5 introduced an optimization that would prevent ldpd
from sending redundant label mappings when it receives notifications
from zebra about routes that didn't effectively change (such
notifications can happen under certain circumstances).

The problem is that that commit didn't take into account the metric
of the received routes, so it would dismiss a notification of a
route with a better metric taking the place of another route in the
RIB, preventing the newly selected route from receiving the label
mappings it needs.

Revert 220e848cc5 temporarily to fix sporadic failures in the CI
system until we have a better solution.

Debugged-by: Lynne Morrison lynne@voltanet.io
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-01-15 17:44:46 -03:00
Duncan Eastoe
869a5f7168 zebra: set nlmsg_pid in netlink msgs sent by 'fpm'
Use nl_pid from the netlink socket used for programming the kernel
(netlink_dplane) in netlink route messages sent by the 'fpm' module.

This makes 'fpm' consistent with 'dplane_fpm_nl' which already
behaves this way, and allows FPM server implementations to determine
route origin via nlmsg_pid.

Signed-off-by: Duncan Eastoe <duncan.eastoe@att.com>
2021-01-15 16:28:06 +00:00
Mark Stapp
0189d02fe1
Merge pull request #7844 from vishaldhingra/static
staticd: correct table-id handling for static routes.
2021-01-15 09:35:12 -05:00
Donald Sharp
3771ded194 tests: Add pytest.mark.pbr
Add a mark to topotests that mark pbr tests

`pytest -k pbr`

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-15 09:18:59 -05:00
Donald Sharp
3914e57591 tests: Add pytest.mark.isis
Add a mark to topotests that mark isis tests

`pytest -k isis`

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-15 09:17:53 -05:00
Donald Sharp
1d0c76b74d tests: Add pytest.mark.bfd
Add a mark to topotests that mark bfd tests.

`pytest -k bfd`

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-15 08:58:24 -05:00
Mark Stapp
ea8885d54e
Merge pull request #7870 from donaldsharp/pytest_marking
tests: Start the ability to mark tests
2021-01-15 08:44:51 -05:00
Donald Sharp
4ec7a71a93 bgpd: Allow peer-groups to have ttl-security hops configured
The command `neighbor PGROUP ttl-security hops X` was being
accepted but ignored.  Allow it to be stored.  I am still
not sure that this is applied correctly, but that is another
problem.

Fixes: #7848
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-15 08:29:25 -05:00
Donald Sharp
c780fef631
Merge pull request #7872 from ton31337/feature/topotests_for_peer-groups
tests: Check if peer-group is working in topotests
2021-01-15 08:24:13 -05:00
Donald Sharp
f7f52f0d2b
Merge pull request #7868 from mjstapp/fix_fpm_conn_up
zebra: don't set connection-up event pointer directly
2021-01-15 06:55:29 -05:00
Donatas Abraitis
2f8e365008 tests: Check if peer-group is working in topotests
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-15 11:35:57 +02:00
Donatas Abraitis
a3dd2d8d9f
Merge pull request #7867 from dewi-morgan/bgp-max-prefix-overflow-clear
bgpd: clear max prefix overflow on de-config
2021-01-15 09:30:56 +02:00
Donatas Abraitis
bc0a3629cf
Merge pull request #7869 from donaldsharp/peer_group
bgpd: Temp fix to allow numbered peers to be part of a peer group
2021-01-15 09:19:15 +02:00
Donald Sharp
b9f3e47f3a tests: Start the ability to mark tests
Add the ability for our topotests to take advantage of pytest `mark`ing.
This effectively allows you to tell pytest to run against certain sets
of tests.  For a demonstration purpose I've added in marks for:
babel
eigrp
ldp
ospf
pim
rip

And setup tests to run against those tests that only test those protocols.

You can run against eigrp tests by running `pytest -k eigrp`
Other combinations are also available based upon simple boolean logic.
Just read the pytest.mark documentation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-14 20:29:14 -05:00
Donald Sharp
2a059a5448 bgpd: Temp fix to allow numbered peers to be part of a peer group
Talking w/ Chirag and he indicated that we can just backout the command
to the original and things would `work` and they do( at least a quick test does )

Put this in place until a proper fix can be done.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-14 15:51:39 -05:00
Mark Stapp
9fad1340d4
Merge pull request #7866 from kishorekunal01/fpm_dump_issue
zebra: Scale setup RMAC is send multiple time to fpm
2021-01-14 14:13:31 -05:00
Mark Stapp
ef1dbba83a zebra: don't set connection-up event pointer directly
Use thread_cancel to reset the connection-up processing timer.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-14 14:09:14 -05:00
Mark Stapp
d3394d8973
Merge pull request #7821 from donaldsharp/evpn_flag_dump
Evpn flag dump
2021-01-14 13:02:21 -05:00
Kishore Kunal
e840edcacb zebra: Scale setup RMAC is send multiple time to fpm
Thread zfpm_conn_up_thread_cb can Yield and send RMAC multiple
times to FPM.

Signed-off-by: Kishore Kunal <kishorekunal01@broadcom.com>
2021-01-14 15:53:52 +00:00
Mark Stapp
72bf41e822
Merge pull request #7712 from dslicenc/frr-reload-prefix-list-acl
tools: ignore missing seq nums in prefix and access lists in frr-relo…
2021-01-14 09:11:30 -05:00
Dewi Morgan
ac4522e621 bgpd: clear max prefix overflow on de-config
A bgp neighbor remains in Idle state in the event that the number
of received prefixes exceeds the configured maximum prefix for the
neighbor. The neighbor remains in idle state even after de-configuring
the maximum prefix limit for the neighbor.

The fix is to clear the neighbor overflow state if set, after
de-configuring the neighbor maximum-prefix commnd.

This allows the neighbor to establish without having to perform a
clear operation. It also avoids the misleading neigbor summary
indicating that the neighbor is in prefix overflow state (PfxCt)
when no limit is configured for the neighbor.

Signed-off-by: Dewi Morgan <dewi.morgan@intl.att.com>
2021-01-14 14:01:26 +00:00
Russ White
be2579c0c2
Merge pull request #7746 from donaldsharp/eigrp_cleanup
Eigrp cleanup
2021-01-13 13:53:55 -05:00
Donald Sharp
f2aee6967c
Merge pull request #7837 from ckishimo/tests_ospf
tests: fix redistribute key in ospf tests
2021-01-13 13:31:32 -05:00
Donald Sharp
700cae7698 zebra: in zebra_evpn_mac.c use size_t for buffer length
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-13 13:22:29 -05:00
Donald Sharp
b16e800423 zebra: Create a dump function for mac->flags and use it
Create a function that can dump the mac->flags in human readable
output and convert all debugs to use it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-13 13:22:29 -05:00
Donald Sharp
bf902d4c52 zebra: Create function to dump MACIP flags
Create a function to dump MACIP flags and to use it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-13 13:22:27 -05:00
Mark Stapp
d7ceaa8f5a
Merge pull request #7819 from donaldsharp/more_data_for_debug_dumps
zebra: Add ability to display human readable format re->flags and status
2021-01-13 13:06:23 -05:00
Chirag Shah
6dfc022ff2 staticd: handle when condition check in nb callbacks
At present, libyang validate api takes longer time to complete
for a transaction to complete if the same config is re-applied.
For instance if set of static routes are reapplied the config
completion takes longer than it took initial time.

One of the solution is to remove when statement from staticd nexthop yang OM.
When condition adds peformance toll on libyang's validate api.
The same when condition checks are done in frr northbound
validation phase (which are must faster).

With this change, if the same static routes are configured
agian and again, the time to completion does not go up and
perfomance does not degrade.

Ticket:CM-32530
Testing Done:

Configure 400 static routes across two vrfs and keep re-applying them.
The time to complete the config remains in few seconds.

Before:
root@bharat:~/stash/frr4# time vtysh -f static_route_cfg

real    0m19.877s
user    0m0.263s
sys 0m0.014s

After:
root@bharat:~/stash/frr4# time vtysh -f static_route_cfg

real    0m3.857s
user    0m0.239s
sys 0m0.034s

Co-developed-by: VishalDhingra <vdhingra@vmware.com>
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-01-13 09:24:25 -08:00
Chirag Shah
dc40d33703 yang: remove when condition from static nexthop om
Remove when conditions from the yang OM as it degrades
the performance in libyang.
Instead do the same when conditional check in frr northbound
validate phase. Reject the config if condiion do not meet.

Ticket:CM-32530
Testing Done:

Co-developed-by: VishalDhingra <vdhingra@vmware.com>
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-01-13 09:24:25 -08:00