Commit Graph

22363 Commits

Author SHA1 Message Date
vdhingra
ad6149e39d staticd: make table-id as the key for path-list
modified the yang model for path-list.
table-id should be a key, as one route can have
multiple table-ids.

Signed-off-by: vishaldhingra <vdhingra@vmware.com>
2021-01-09 23:22:32 -08:00
Donald Sharp
e11922f0e9
Merge pull request #7839 from ton31337/feature/print_large-community_dump
bgpd: Print large-community inside bgp_dump_attr()
2021-01-09 07:25:59 -05:00
Donatas Abraitis
34473d24e9
Merge pull request #7835 from donaldsharp/cleanup_support_bundle
Cleanup support bundle
2021-01-09 09:14:16 +02:00
Donatas Abraitis
07b24afe49 bgpd: Print large-community inside bgp_dump_attr()
Missing large communities.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-09 09:10:21 +02:00
Donatas Abraitis
3b156e5c66
Merge pull request #7842 from donaldsharp/wait_for_convergence
tests: Wait for bgp convergence *after* we re-add the interfaces
2021-01-09 09:09:25 +02:00
Donald Sharp
089512fe97
Merge pull request #7836 from volta-networks/fix_isis_net
isisd: When last area address is removed, resign if we were DR
2021-01-08 23:01:58 -05:00
Donald Sharp
d4aa0e7ba4
Merge pull request #7803 from ton31337/fix/validate_community_list
bgpd: Validate community list if they are not malformed
2021-01-08 21:05:32 -05:00
Donald Sharp
537e7e9241 tests: Wait for bgp convergence *after* we re-add the interfaces
In test_bgp_mutli_vrf_topo2.py it's clear that we remove then
re-add the vrf interfaces.  Then the test was immediately
checking to ensure that the routes were available.

BGP needs time to reconverge.  Let's ensure that first.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-08 20:58:04 -05:00
Donald Sharp
39bda68b1e tools: Cleanup some zebra section of the support bundle
a) Add some useful commands
b) Remove `show error all` this just dumps the error codes.  If
we know the version we don't need this.  Additionally this is
rather large.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-08 20:54:43 -05:00
Donald Sharp
5e67b0f345 tools: Cleanup bgp commands in the support bundle
Add some missing commands ( I am sure that there are more useful ones to )
Cleanup to use the modern non-deprecated syntax in case anyone runs across
this.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-08 20:54:43 -05:00
Renato Westphal
dc70c83afa
Merge pull request #7816 from pjdruddy/revert_labelmanager_statics
Revert labelmanager statics
2021-01-08 20:57:25 -03:00
Donald Sharp
ebaf5fe92d
Merge pull request #7838 from ton31337/fix/force_updates_on_reset_out
bgpd: Force BGP updates when triggering reset out
2021-01-08 17:34:37 -05:00
Donatas Abraitis
8b56739eb4 bgpd: Force BGP updates when triggering reset out
When adding/removing some peer's flag we need to make sure we FORCE updates
to avoid suppressing critical updates.

Like entering `no neighbor x.x.x.x send-community large` would suppress
updates by default and another side will have stale large communities.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-08 18:04:18 +02:00
Karen Schoener
68800d62c2 isisd: When last area address is removed, resign if we were DR
When last area address is removed, resign if we were DR.

This fixes an issue where: when the ISIS area address is changed, ISIS fails
to elect a new DR.

Signed-off-by: Karen Schoener <karen@voltanet.io>
2021-01-08 09:25:06 -05:00
Donatas Abraitis
9932aa1200
Merge pull request #7833 from donaldsharp/gr_tests
tests: Fix gr_tests
2021-01-08 15:01:45 +02:00
Donatas Abraitis
d03a07b6dd
Merge pull request #7834 from donaldsharp/bgp_announce
Bgp announce
2021-01-08 14:08:22 +02:00
Donald Sharp
257b7b6efc bgpd: Move afi indepedent code outside of checks for it
In bgp_zebra_announce we do work to apply the table map.
This is the same for both v4 and v6 but we have the code
duplicated in both v4 and v6 if statements.  Move outside
to reduce the duplications.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-07 19:24:13 -05:00
Donald Sharp
696ad9ef0e bgpd: Combine two subsuquent if (debug..) statements
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-07 19:04:27 -05:00
Donald Sharp
0b87ad9932 bgpd: Remove redundant checks in bgp_zebra_announce()
BGP has created some redundant checks in bgp_zebra_announce()
Reduce the multiple if statements and consolidate a bit.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-07 18:54:34 -05:00
Donald Sharp
662aa246aa tests: Fix gr_tests
The bgp_gr_functionality_topo1 test was shutting down an
interface on r2 and then trying to bring it up on r1.
Hijinx ensued.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-07 17:30:04 -05:00
Donatas Abraitis
acb92e3524
Merge pull request #7749 from wesleycoakley/bgpd-large-community-format-fix
bgpd: reject malformed large-communities
2021-01-07 10:33:59 +02:00
Donatas Abraitis
dc26cada71
Merge pull request #7824 from opensourcerouting/snap-libyang1-fix
Snapcraft Fixes
2021-01-07 10:28:19 +02:00
Donatas Abraitis
0e26a27a41
Merge pull request #7817 from donaldsharp/random
Random cleanup/fixes
2021-01-07 10:24:11 +02:00
Martin Winter
ab9267d4e4
snapcraft: Update rtrlib to 0.7.0
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2021-01-07 02:16:19 +01:00
Martin Winter
f3ebaf3820
snapcraft: Fix passthrough path for Libyang 1.x
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2021-01-07 02:14:52 +01:00
Donald Sharp
fe035acc87
Merge pull request #7820 from kuldeepkash/topojson_framework
tests: [topojson]Add/Enhance framework to support PIM automation
2021-01-06 08:59:34 -05:00
Wesley Coakley
c850908b9d bgpd: separate lcommunity validation from tokenizer
`lcommunity_gettoken` expects a space-delimeted list of 0 or more large
communities. `lcommunity_list_valid` can perform this check.
`lcommunity_list_valid` now validates large community lists more
accurately based on the following condition: Each quantity in a standard bgp
large community must:

1. Contain at least one digit
2. Fit within 4 octets
3. Contain only digits unless the lcommunity is "expanded"
4. Contain a valid regex if the lcommunity is "expanded"

Moreover we validate that each large community list contains exactly 3
such values separated by a single colon each.

One quirk of our validation which is worth documenting is:

```
bgp large-community-list standard test2 permit 1:c:3
bgp large-community-list expanded test1 permit 1:c:3
```

The first line will throw an error complaining about a "malformed community-list
value". The second line will be accepted because the each value is each treated as
a regex when matching large communities, it simply will never match anything so
it's rather useless.

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
2021-01-06 07:18:20 -05:00
Donatas Abraitis
f32fc99078
Merge pull request #7815 from ckishimo/pytests
tests: fix typos and remove duplicate output
2021-01-06 09:08:35 +02:00
kuldeepkash
e58fdb55d6 tests: [topojson]Enhance lib/topojson.py to support PIM automation
1. Enhanced lib/topojson.py for creating topologies with switches and routers
2. Ran it through (black) for expected formatting

Signed-off-by: kuldeepkash <kashyapk@vmware.com>
2021-01-06 05:13:05 +00:00
kuldeepkash
aafca66993 tests: [topojson]Enhance lib/common_config.py to support PIM automation
1. Enhanced lib/common_config.py for common configuration/verification needed
   for PIM automation
2. Ran it through (black) for expected formatting

Signed-off-by: kuldeepkash <kashyapk@vmware.com>
2021-01-06 05:08:31 +00:00
kuldeepkash
e8cd26fdc5 tests: [topojson]Add lib/pim.py to support PIM automation
1. Added lib/pim.py for PIM configuration/verification
2. Ran it through (black) for expected formatting

Signed-off-by: kuldeepkash <kashyapk@vmware.com>
2021-01-06 05:05:30 +00:00
Donald Sharp
1a3519b69e bgpd: Cleanup debugs for bgp_zebra_route_notify_owner
User %pRN as well as add some more debugs for other
interesting cases.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-05 15:37:33 -05:00
Donald Sharp
92269aa253 bgpd: Allow more detailed knowledge of bgp's internal state
When bgp is using wait for install semantics it would be nice
to be able to debug it when it is running.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-05 15:37:33 -05:00
Donald Sharp
6f4196d72b pathd: Convert to use our internal frr_weak_random
rand() should not be used, we should be using the frr_weak_random()
call instead.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-05 15:37:32 -05:00
ckishimo
90340b2b82 tests: fix typos
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-05 20:00:19 +01:00
Mark Stapp
6b66913275
Merge pull request #7762 from sworleys/PBR-Ipv4/Ipv6-Match-Fixes
pbrd: pbr ipv4/ipv6 match fixes
2021-01-05 13:54:06 -05:00
Pat Ruddy
cdb2af427a tests: add test for labelmanager plugin
An external label manager plugin may want to use the following
functions:
    - create_label_chunk
    - assign_label_chunk
    - delete_label_chunk
    - release_label_chunk
This test ensures that they are externally visible.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-01-05 18:20:50 +00:00
Pat Ruddy
507d2737d6 zebra: expose label-manager util-funcs
Revert "zebra: unexpose label-manager util-funcs as static"
This reverts commit d3d9639d9a.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-01-05 18:19:44 +00:00
Mark Stapp
b04932df02
Merge pull request #7772 from LabNConsulting/ziemba/tests-lutil-timestamp
tests: topotests/lib/lutil.py: add timestamp to log of test start
2021-01-05 11:29:49 -05:00
ckishimo
19185dbac2 tests: remove duplicate output
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-05 17:26:01 +01:00
Russ White
cec0e51e25
Merge pull request #7807 from logbob0401/vrrpd_yang_bug_fix
Fix augment path problem in frr-vrrpd.yang to comply with rfc 7950
2021-01-05 10:30:55 -05:00
Russ White
ee117a8bd6
Merge pull request #7507 from ton31337/fix/bgpd_do_not_send_update_if_path_really_did_not_change
bgpd: Do not send BGP UPDATE if the route actually not changed
2021-01-05 10:26:18 -05:00
Russ White
7e9492a9a6
Merge pull request #6810 from Orange-OpenSource/link_state
Lib: Add Link State Database
2021-01-05 10:25:38 -05:00
Patrick Ruddy
b567ed7eeb
Merge pull request #7722 from AnuradhaKaruppiah/mh-fixes
bgpd, zebra: evpn mh fixes
2021-01-05 09:26:17 +00:00
Donatas Abraitis
0e8916e0cf bgpd: Validate community list if they are not malformed
Before fix:
```
root@exit1-debian-9:~/frr# /usr/local/bin/vtysh  -c 'c' -c 'route-map test permit 10' -c 'set community 65535:429496723296'
root@exit1-debian-9:~/frr#

root@exit1-debian-9:~/frr# vtysh -c 'c' -c 'bgp community-list standard test permit 65535:4294967296'
root@exit1-debian-9:~/frr#

root@exit1-debian-9:~/frr# /usr/local/bin/vtysh  -c 'c' -c 'route-map test permit 10' -c 'set community 65535'
root@exit1-debian-9:~/frr# /usr/local/bin/vtysh  -c 'c' -c 'route-map test permit 10' -c 'set community 65535:'
% Malformed communities attribute
```

After fix:
```
root@exit1-debian-9:~/frr# /usr/local/bin/vtysh  -c 'c' -c 'route-map test permit 10' -c 'set community 65535:4294967296'
% Malformed communities attribute

root@exit1-debian-9:~/frr# vtysh -c 'c' -c 'bgp community-list standard test permit 65535:4294967299'
% Malformed community-list value

root@exit1-debian-9:~/frr# /usr/local/bin/vtysh  -c 'c' -c 'route-map test permit 10' -c 'set community 65535:'
% Malformed communities attribute
root@exit1-debian-9:~/frr# /usr/local/bin/vtysh  -c 'c' -c 'route-map test permit 10' -c 'set community 65535'
% Malformed communities attribute
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-05 10:59:11 +02:00
Jafar Al-Gharaibeh
9c28522e12
Merge pull request #7809 from donaldsharp/m_coverity
some coverity fixes
2021-01-04 16:13:21 -06:00
Olivier Dugeon
bbd85e2038 lib: Add Link State Database
Define new models for Link State Database a.k.a TED
and functions to manipulate the new database as well as exchange Link State
information through ZAPI Opaque message.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2021-01-04 18:19:26 +01:00
Donald Sharp
e80bc08944 bgpd: Prevent null deref
There exists a path where we could possibly have a NULL deref
of a pointer.  Prevent this from happening.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-04 07:56:47 -05:00
Donald Sharp
fc7d07275e pathd: Fix unlock of non-locked mutex
We have several instances of a non-locked mutex being unlocked
in path_zebra_router_id_update.  Clean this up.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-04 07:54:06 -05:00
Bo Zhang
8cf813c5ea vrrpd.yang bug fix: modify augment path to comply with rfc 7950
Signed-off-by: Bo Zhang <logbob0401@gmail.com>
2021-01-02 17:47:11 -08:00