Commit Graph

25370 Commits

Author SHA1 Message Date
Ryoga Saito
16f3db2d8c bgpd: add sid struct info to bgp_path_info_extra
add SID structure information to bgp_path_info_extra to use structure
data in other places.

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-09-14 16:54:31 +00:00
Ryoga Saito
b69210fa1b tests: update bgp_srv6l3vpn_to_bgp_vrf
SID allocation is changed, so there is need to update topotest

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-09-03 01:19:49 +00:00
Ryoga Saito
a1a5100851 bgpd: insert SID structure Sub-Sub-TLV
This patch enables frr to advertise SRv6 SID information with SID
structure Sub-Sub-TLV.

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-09-03 01:19:49 +00:00
Ryoga Saito
cc8f05dfdc bgpd: add transpose operation
if advertisement with SID structure Sub-Sub-TLV, we need to transpose
SID, so added transpose operation into bgp_update.

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-09-03 01:19:49 +00:00
Ryoga Saito
9299fd00e7 bgpd: introduce SID structure information
draft-ietf-bess-srv6-services-07 defines new SID structure Sub-Sub-TLV.
This patch adds SID structure information to bgp_attr_srv6_l3vpn. This
patch also defines default SID stucture used by following patches.

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-09-03 01:19:45 +00:00
Ryoga Saito
a45cd34e54 bgpd: introduce new alloc algorithm for SRv6 SID
Current implementation of SRv6 SID allocation algorithm sets most least
2 bytes. But, according to RFC8986, function bits is located in the next
to locator. New allocation alogirithm respects this format.

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-09-03 01:18:50 +00:00
Ryoga Saito
2dc1fa1322 tests: update bgp_prefix_sid2
exabgp's config in bgp_prefix_sid2 is also missing header, so added

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-08-20 09:01:27 +00:00
Ryoga Saito
73604f8217 bgpd: fix parser of srv6 infomation
bgpd couldn't parse SRv6 SID Information Sub-TLV correctly.
draft-ietf-bess-srv6-services-07 also defines SRv6 SID Structure
Sub-Sub-TLV. This patch adds the parser for SRv6 SID Structure
Sub-Sub-TLV.

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-08-18 09:03:41 +00:00
Ryoga Saito
a3e3b5b08b bgpd: fix prefix sid sub-tlv header is missing
draft-ietf-bess-srv6-services-07 defines SRv6 Service Sub-TLV header,
but, current bgpd implementation send path attribute without SRv6
Service Sub-TLV header.

Signed-off-by: Ryoga Saito <contact@proelbtn.com>
2021-08-18 09:03:36 +00:00
Igor Ryzhov
2f2372ce9e
Merge pull request #9408 from mobash-rasool/ospfv2-bug-fixes-03
ospfd: Summarised External LSA is not flushed in one scenario
2021-08-18 10:18:32 +03:00
Russ White
0512687b30
Merge pull request #9342 from mobash-rasool/ospfv3-asbr-summarisation
OSPF6d: Fixed assert at ospf6_originate_summary_lsa asbr.c:2849 and flushing of Type-7 LSAs
2021-08-17 10:31:29 -04:00
Russ White
45ec885cc4
Merge pull request #9366 from idryzhov/fix-plist-yang
yang: mark a couple of prefix-list/access-list leafs as mandatory
2021-08-17 10:12:34 -04:00
Russ White
e709f411e9
Merge pull request #9365 from idryzhov/fix-plist-dup-check
lib: fix prefix-list duplication check
2021-08-17 09:55:34 -04:00
Russ White
55a3d3cef2
Merge pull request #9385 from idryzhov/bgpd-match-evpn-default-route-crash
bgpd: fix segfault when re-adding "match evpn default-route" rule
2021-08-17 09:54:25 -04:00
Russ White
2b0b9c2d11
Merge pull request #9383 from idryzhov/ospf-no-vrf-init
ospfd: fix initialization when vrf doesn't exist yet
2021-08-17 09:53:51 -04:00
David Lamparter
3f7f60e0c1
Merge pull request #9411 from donaldsharp/include_update
include: Update rtnetlink.h to be correct with upstream kernels
2021-08-17 15:50:57 +02:00
Russ White
9205044945
Merge pull request #9402 from donaldsharp/rpki_processing
Rpki processing
2021-08-17 09:47:10 -04:00
Igor Ryzhov
591c8c473a
Merge pull request #9417 from ton31337/fix/bgp_rmap
bgpd: Return rmap match if large-community alias found
2021-08-17 16:29:05 +03:00
Donald Sharp
c59463fb1e
Merge pull request #9413 from pguibert6WIND/rtmgetneigh_too
zebra: RTM_GETNEIGH messages may be used by nhrp
2021-08-17 07:57:39 -04:00
Donatas Abraitis
bd67b727e9 bgpd: Return rmap match if large-community alias found
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-17 12:19:43 +03:00
Mobashshera Rasool
d2e8400570 ospfd: Summarised External LSA is not flushed in one scenario
Fix CI Failure test_ospf_type5_summary_tc45_p0

Problem Statement:
==================
Summarised LSA is not flushed in OSPFv2 in below scenario:
1. Configure summary-address in ospfv2
2. redistribute static and connected.
3. Check the LSAs are received on neighbor.
4. Now remove all OSPFv2 configs, so neighbor will still have the summarised LSA.
5. Configure router ospf with redistribute static and connected.
6. Check the DB, summarised LSA is present although the configuration is not present.
7. Now configure the summary-address and remove the configuration after sometime.
8. The summarised LSA will be still present.

RCA:
==================
When self originated LSA is received from the neighbor and that
LSA is summarised one, the LSA is refreshed but a flag is not set
due to which it was not able to remove it later.

Fix:
==================
Set the originated flag when refreshing summarised LSA.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-08-17 02:15:42 -07:00
Igor Ryzhov
40d9855588
Merge pull request #9404 from neirbowj/notcares
Scan lib/resolver.c only when c-ares is installed
2021-08-17 11:28:22 +03:00
Philippe Guibert
7a52f27e75 zebra: RTM_GETNEIGH messages may be used by nhrp
When NHRP registers to zebra to receive link layer events related to
gre interfaces, then it is interested in receiving also RTM_GETNEIGH
messages.

Fixes ("b3b751046495") nhrpd: link layer registration to notifications

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-08-17 09:07:31 +02:00
Donald Sharp
8a66091763 include: Update rtnetlink.h to be correct with upstream kernels
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-16 15:18:55 -04:00
Mark Stapp
1f332cb0b2
Merge pull request #9375 from idryzhov/pcep-no-commands
vtysh, pathd: fix pcep node-entering commands
2021-08-16 12:57:53 -04:00
Renato Westphal
1dfa8b8991
Merge pull request #9380 from mjstapp/fix_static_lsp_cli
zebra: mpls validation and static lsp fixes
2021-08-16 12:06:01 -03:00
Donald Sharp
9a65115329 bgpd: Add code to output expire and retry interval for rpki
The code to output during a `show run` is missing for both
the expire_interval and the retry_interval in rpki.
Let's add it in so the end user can see what they
are set to if not set to the default.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-16 11:04:06 -04:00
Donald Sharp
73261b4759 bgpd: Continue processing rpki nodes
We are prematurely stopping processing of bgp_path_info's
when bgp_update returns a -1.  The only place that this
happens when we cross some prefix limit.  But we still
need to continiue processing other nodes in the list too.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-16 11:04:06 -04:00
Donald Sharp
35a1e798f8 bgpd: Limit processing to what is needed in rpki validation
The processing was looping over all bgp instances then
over all peers then over all safi's to find a match
for a prefix received in order to validate it.

Suppose you have 100 peers each sending you the same
prefix.  This code will cause it to look at each node 100
times since we look at for each peer.  This is especially
egregarious because we never ever do anything with the peer
when we are looping over them.

Remove the peer loop, significantly reduce processing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-16 11:04:06 -04:00
Renato Westphal
c5be0ad631
Merge pull request #9395 from donaldsharp/pim_memory_leak
pimd: Prevent memory leak
2021-08-16 12:01:49 -03:00
Donatas Abraitis
3af20fda0b
Merge pull request #9369 from idryzhov/comm-alias-memleaks
bgpd: fix various memleaks when using community aliases
2021-08-16 17:24:21 +03:00
Igor Ryzhov
5838d3b452
Merge pull request #9265 from ton31337/fix/extcommunity_lb_route-map_persistent
bgpd: Extended community bandwidth fixes
2021-08-16 12:26:25 +03:00
Igor Ryzhov
06dc3705b7
Merge pull request #9350 from ton31337/feature/autocomplete_for_community_lists
bgpd: Auto-complete for community lists (show commands)
2021-08-16 12:02:13 +03:00
Igor Ryzhov
54a95babff
Merge pull request #9391 from mougams/master
tests: add feature to not run ospfd test when opted out
2021-08-16 11:54:55 +03:00
Igor Ryzhov
ab35b4ad5c
Merge pull request #9399 from ton31337/fix/doc_zebraBANDIWDTH
doc: Replace typo BANDIWDTH to BANDWIDTH
2021-08-16 11:52:34 +03:00
Igor Ryzhov
6020092152
Merge pull request #9400 from ton31337/fix/rename_topotest_dirs
tests: Get rid off `-` for directories
2021-08-16 11:51:51 +03:00
John W. O'Brien
433d9af2a6 lib: Scan lib/resolver.c only when c-ares is installed
Scan lib/resolver.c only when c-ares is installed

Signed-off-by: John W. O'Brien <john@saltant.com>
2021-08-15 12:54:37 -04:00
Donatas Abraitis
7fedbefb87 tests: Get rid off - for directories
Related: http://docs.frrouting.org/projects/dev-guide/en/latest/topotests.html

Directory name for a new topotest must not contain hyphen (-) characters.
To separate words, use underscores (_). For example, tests/topotests/bgp_new_example.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-15 11:12:56 +03:00
Donatas Abraitis
c5e0101cb8 doc: Replace typo BANDIWDTH to BANDWIDTH
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-15 11:10:22 +03:00
Donald Sharp
061bf350dd
Merge pull request #9271 from opensourcerouting/workflow-release-sched
workflow: document release scheduling discussed
2021-08-14 09:06:23 -04:00
Donatas Abraitis
426fb74775
Merge pull request #9394 from dslicenc/bgp-prepend-lastas
bgpd: Stop prepending peer-as if self-originated and lastas configured
2021-08-14 11:26:14 +03:00
Renato Westphal
a01b086340
Merge pull request #9338 from idryzhov/static-nb-err
staticd: replace NB checks with assert
2021-08-13 22:17:31 -03:00
Igor Ryzhov
f0010840e8
Merge pull request #9389 from mjstapp/fix_netlink_if_name_sa
zebra: interface name must be a valid string
2021-08-14 02:14:44 +03:00
Donald Sharp
5f1808acab pimd: Prevent memory leak
When we decide that we do not need a item on the partial_bsrp_list
don't just drop the memory on the floor, free it up.

This was happening when we decided that a pending item has
a hold time of 0.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-13 17:24:21 -04:00
Mark Stapp
e9f79fff57 zebra: interface name must be a valid string
Validate incoming netlink interface name strings.

Signed-off-by: Mark Stapp <mjs.ietf@gmail.com>
2021-08-13 16:06:07 -04:00
Don Slice
6ba0adacd2 bgpd: Stop prepending peer-as if self-originated and lastas configured
Problem seen where if "set aspath-prepend last-as" configured and
applied outbound, we prepend the peer's asn which causes our self-
originated routes to be denied.

Signed-off-by: Don Slice <dslice@nvidia.com>
2021-08-13 15:25:48 -04:00
Igor Ryzhov
cb5eb14c52
Merge pull request #9361 from qlyoung/upstream-8857
ospf6d: JSON output for database dump show command
2021-08-13 20:10:02 +03:00
Igor Ryzhov
cd9cc0e64a bgpd: fix memory leaks in bgp_show_table
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-13 14:45:08 +03:00
Igor Ryzhov
1ca0a0bc92 bgpd: fix memory leaks in route_match_alias
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-13 14:28:41 +03:00
Igor Ryzhov
1523c0f9ee
Merge pull request #9371 from donaldsharp/zebra_evpn_getl
zebra: Ensure stream is long enough
2021-08-13 14:06:37 +03:00