summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-02-07Merge pull request #12722 from opensourcerouting/vim-xrefbase_8.5Jafar Al-Gharaibeh
tools: add `GotoXref` vim script
2023-02-07Merge pull request #12715 from ↵Jafar Al-Gharaibeh
opensourcerouting/fix/contribution_guid_squash_random_commits Commits hygiene
2023-02-07Merge pull request #12748 from opensourcerouting/fix/route_map_vpn_importRuss White
tests: Check if route-map vpn import basic funtionality works fine
2023-02-07Merge pull request #12720 from ↵Russ White
opensourcerouting/fix/ecommunity_ipv6_missing_token bgpd: ecommunity_token_rt6 is not handled
2023-02-07Merge pull request #12741 from thesamesam/missing-timeDonatas Abraitis
pceplib: add <time.h> include for time_t
2023-02-06pceplib: add <time.h> include for time_tSam James
Fixes build on musl. Used for time_t in the header. Bug: https://bugs.gentoo.org/862558 Signed-off-by: Sam James <sam@gentoo.org>
2023-02-06bgpd: Add more context in logs about from where to where routes are leakedDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-02-06bgpd: Drop struct bgp from vpn_leak_to_vrf_withdraw()Donatas Abraitis
Not used at all, just drop it. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-02-06tests: Check if `route-map vpn import` basic funtionality works fineDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-02-06Merge pull request #12740 from vfreex/babel-fix-filteringDonatas Abraitis
babeld: Fix filtering against all interfaces
2023-02-06babeld: Fix filtering against all interfacesYuxiang Zhu
The first argument of `access_list_lookup` and `prefix_list_lookup` should be `AFI_` constants instead of `AF_` constants. Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
2023-02-04Merge pull request #12668 from anlancs/fix/zebra-evpn-missing-advertiseDonatas Abraitis
zebra: fix wrong conversion for evpn advertising
2023-02-03Merge pull request #12732 from donaldsharp/fix_bgp_open_issuesMark Stapp
bgpd: Don't try to recursively hold peer io mutex
2023-02-02bgpd: Don't try to recursively hold peer io mutexDonald Sharp
BGP was modified in a0b937de428e14e869b8541f0b7810113d619c2e to grab the peer->io_mtx before validating the header to ensure that the input Queue was not being modified by anyone else at that moment in time. Unfortunately validate_header can detect a problem and attempt to relock the mutex, which deadlocks. This deadlock in the bgp_io pthread is the lone deadlock at first, eventually though bgp attempts to write another packet to the peer( say when the it's time to send the next packet ) and the main pthread of bgpd becomes deadlocked and then the whole bgpd process is stuck at that point in time leaving us dead in the water. The point of locking the mutex earlier was to ensure that the input Queue wasn't being modified by anyone else, (Say reading off it ) as that we wanted to ensure that we don't hold more packets then necessary. Let's grab the mutex long enough to look at the input Q size, this ensure that we have room and then we can validate_header and do the right thing from there. We'll need to lock the mutex when we actually move it into the input Q as well. Fixes: #12725 Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-02Merge pull request #12731 from donaldsharp/remove_pretty_printRuss White
lib, bgpd: Add ability to specify that some json output should not be…
2023-02-02bgpd: Convert evpn output to not pretty print jsonDonald Sharp
Commit: 3cdb03fba7b40240fb38469a12b7b05a11043e09 changed the vty_json output to not be pretty printing. The previous commit in the tree added vty_json_no_pretty let's use that instead Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-02lib, bgpd: Add ability to specify that some json output should not be prettyDonald Sharp
Initial commit: 23b2a7ef524c9fe083b217c7f6ebaec0effc8f52 changed the json output of `show bgp <afi> <safi> json` to not have pretty print because when under a situation where there are a bunch of routes with a large scale ecmp show output was taking forever and this commit cut 2 minutes out of vtysh run time. Subusequent commit: f4ec52f7cc99f709756d9030623a20c98a086125 changed this back. When upgrading to latest version the long run time was noticed due to testing. Let's add back this functionality such that FRR can have reduced run times with vtysh when it's really needed. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-02Merge pull request #12729 from ↵Donald Sharp
opensourcerouting/fix/treat-as-withdraw_nlri_update bgpd: Set attr to NULL when passing NLRI_UPDATE with treat-as-withdraw
2023-02-01bgpd: Set attr to NULL when passing NLRI_UPDATE with treat-as-withdrawDonatas Abraitis
Before this patch, we always passed `struct attr` for NLRI_UPDATE, but if we have a situation with treat-as-withdraw (for example: malformed attribute, or using a command like `neighbor path-attribute treat-as-withdraw`) the route MUST be withdrawn form the BGP table. Hence, we MUST pass attr as NULL, in this case we already have this check under NLRI_ATTR_ARG() macro, just reuse it properly. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-02-01Merge pull request #12672 from donaldsharp/remove_insecureDonatas Abraitis
vtysh: Remove shell access code
2023-02-01Merge pull request #12713 from opensourcerouting/fix/json_naming_deprecationDonald Sharp
*: Drop deprecated incorrect JSON fields with wrong naming
2023-02-01Merge pull request #12721 from opensourcerouting/format-warnings-reduxChristian Hopps
*: more format string fixing
2023-02-01vtysh: Schedule shell access for deprecationDonald Sharp
Schedule shell access for deprecation and removal in a years time. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-01tests: add missing printf attributeDavid Lamparter
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-02-01tests: yank asprintfrr duplicateDavid Lamparter
I think this one predates the existence of asprintfrr. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-02-01lib: fix one more b0rked format stringDavid Lamparter
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-02-01bgpd/rfapi: add missing printf attributeDavid Lamparter
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-02-01lib: apply more `printf` attributesDavid Lamparter
... missed some functions in the earlier commits :( Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-31tools: add GotoXref vim scriptDavid Lamparter
Let's make these unique IDs actually a bit useful. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-31Merge pull request #12667 from donaldsharp/zebra_rib_fixupDonatas Abraitis
tests: zebra_rib remove a sleep
2023-01-31bgpd: ecommunity_token_rt6 is not handledDonald Sharp
The function ecommunity_str2com_internal appears to want to handle the ecommunity_token_rt6 enum but skips over it. Commit 9a659715dfcb6c0b1e3ef8004b6c9d14c55f2081 tried to add this but I really don't see how this is going to behave correctly. Add the ecommunity_token_rt6 case to the switch statement so it is handled appropriately? Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-31Merge pull request #12704 from donaldsharp/pim6_route_mapDonatas Abraitis
pimd: v6 intentionally turned off route-maps. Turn it on.
2023-01-31tests: Use JSON camelCase naming for testsDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31Merge pull request #12686 from opensourcerouting/debian-sync-20230124Donald Sharp
debian: synchronize/fold back debian changes
2023-01-31Merge pull request #12717 from opensourcerouting/topotest_stop_topo_fixDonald Sharp
tests: Fix wrong tgen.stop_topology() calls which got skipped
2023-01-31Merge pull request #12687 from opensourcerouting/build-mkdir-pMark Stapp
build: consistently mkdir -p output for redirect
2023-01-31Merge pull request #12708 from donaldsharp/no_notificationMark Stapp
zebra: Send nht resolved entry up to concerned protocols in all cases
2023-01-31tests: Fix wrong tgen.stop_topology() calls which got skippedMartin Winter
Calls were missing the () and caused the stop_topology() to be skipped Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2023-01-31tests: zebra_rib remove a sleepDonald Sharp
The test was sometimes failing around the sleep(4) for waiting for the routes to be installed. Instead of blindly sleeping let's check to see that the routes are actually there in zebra and then continue on. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-31Merge pull request #12695 from opensourcerouting/format-warningsDonald Sharp
build: `-Wformat-nonliteral -Wformat-security`
2023-01-31Merge pull request #12710 from ↵Donald Sharp
opensourcerouting/fix/reset_fqdn_capability_on_before_handling_open bgpd: Vanish FQDN capability hostname/domainname before handling new BGP OPEN
2023-01-31Merge pull request #12711 from opensourcerouting/topotest-pid-fixDonald Sharp
tests: Topotests fix for deleting wrong pidfile
2023-01-31zebra: Send nht resolved entry up to concerned protocols in all casesDonald Sharp
There existed the idea, from Volta, that a nexthop group would not have the same nexthops installed -vs- what FRR actually sent down. The dplane would notify you. With the addition of 06525c4f99d4dcafdf448565f7e11bd70993697d the code was put behind a bit of a wall controlled the usage of it. The flag ROUTE_ENTRY_USE_FIB_NHG flag was being used to control which set was being sent up to concerned parties in nexthop tracking. Put this flag behind the wall and do not necessarily set it when we receive a data plane notification about a route being installed or not. Fixes: #12706 Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-31doc: Define why my pull request was closedDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31doc: Add a documentation about commit conventionsDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31tools: Add commit linterDonatas Abraitis
Run under Github Actions, and restrict commit messages, structure, with, etc. Enforce using only our specified prefixes for commit messages. It reduces the work release managers do when _crafting_ release notes. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31doc: Write a short introduction about squashing commitsDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31*: Drop deprecated incorrect JSON fields with wrong namingDonatas Abraitis
Deprecation cycle already passed. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31Merge pull request #12709 from donaldsharp/update_withdraw_always_workDonatas Abraitis
bgpd: bgp_update and bgp_withdraw never return failures
2023-01-30tests: Topotests fix for deleting wrong pidfileMartin Winter
Fixes killRouterDaemons() function which occasionally deleted the wrong pidfile. Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>