Commit Graph

30776 Commits

Author SHA1 Message Date
Donald Sharp
ca0f3cfb17
Merge pull request #12686 from opensourcerouting/debian-sync-20230124
debian: synchronize/fold back debian changes
2023-01-31 12:37:39 -05:00
Donald Sharp
be9692741b
Merge pull request #12717 from opensourcerouting/topotest_stop_topo_fix
tests: Fix wrong tgen.stop_topology() calls which got skipped
2023-01-31 12:30:35 -05:00
Mark Stapp
3b337b7d27
Merge pull request #12687 from opensourcerouting/build-mkdir-p
build: consistently mkdir -p output for redirect
2023-01-31 11:28:32 -05:00
Mark Stapp
62f9428044
Merge pull request #12708 from donaldsharp/no_notification
zebra: Send nht resolved entry up to concerned protocols in all cases
2023-01-31 10:55:01 -05:00
Martin Winter
82db2cd11f
tests: Fix wrong tgen.stop_topology() calls which got skipped
Calls were missing the () and caused the stop_topology() to be skipped

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2023-01-31 16:10:04 +01:00
Donald Sharp
99b93e715c tests: zebra_rib remove a sleep
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-31 09:10:27 -05:00
Donald Sharp
ea768492f1
Merge pull request #12695 from opensourcerouting/format-warnings
build: `-Wformat-nonliteral -Wformat-security`
2023-01-31 09:01:32 -05:00
Donald Sharp
d829de9178
Merge pull request #12710 from opensourcerouting/fix/reset_fqdn_capability_on_before_handling_open
bgpd: Vanish FQDN capability hostname/domainname before handling new BGP OPEN
2023-01-31 08:46:03 -05:00
Donald Sharp
8c02dce8e9
Merge pull request #12711 from opensourcerouting/topotest-pid-fix
tests: Topotests fix for deleting wrong pidfile
2023-01-31 08:45:04 -05:00
Donald Sharp
8ce0e517ed zebra: Send nht resolved entry up to concerned protocols in all cases
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 06525c4f99
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-31 07:28:19 -05:00
Donatas Abraitis
2be1c4002b doc: Define why my pull request was closed
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31 13:29:24 +02:00
Donatas Abraitis
19b8d68cf8 doc: Add a documentation about commit conventions
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31 13:25:27 +02:00
Donatas Abraitis
f05a0c1dde tools: Add commit linter
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-31 13:25:25 +02:00
Donatas Abraitis
843427dd69 doc: Write a short introduction about squashing commits
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31 10:59:01 +02:00
Donatas Abraitis
1ce23106eb *: Drop deprecated incorrect JSON fields with wrong naming
Deprecation cycle already passed.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-31 10:18:28 +02:00
Donatas Abraitis
9eca0bdc02
Merge pull request #12709 from donaldsharp/update_withdraw_always_work
bgpd: bgp_update and bgp_withdraw never return failures
2023-01-31 08:50:06 +02:00
Martin Winter
6c5045ce4f
tests: Topotests fix for deleting wrong pidfile
Fixes killRouterDaemons() function which occasionally deleted the wrong
pidfile.

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2023-01-30 23:29:03 +01:00
Donatas Abraitis
d188b08f30 bgpd: Vanish FQDN capability hostname/domainname before handling new BGP OPEN
Before this, if the peer disables sending FQDN capability, the old hostname
still (STALE) exists and is misleading in the outputs of `show bgp ...`.

Especially when using with `bgp default show-hostname`, etc.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-30 23:34:41 +02:00
Donatas Abraitis
17ff4f6367 bgpd: Free peer's hostname (aka FQDN capability stuff)
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-30 23:22:58 +02:00
Donatas Abraitis
5ca2a7e9e6 tests: Check if we vanish hostname/domainname if disabled from another side
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-30 23:22:23 +02:00
Donald Sharp
367b458cb4 bgpd: bgp_update and bgp_withdraw never return failures
These two functions always return 0.  As such any and all
tests against this make no sense.  Remove the return 0
to a void and follow the chain, logically, to remove all
the dead code.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-30 16:02:23 -05:00
Donald Sharp
f51c430a17 pimd: v6 intentionally turned off route-maps. Turn it on.
Why?

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-30 09:18:15 -05:00
Donatas Abraitis
65a78243d8
Merge pull request #12700 from taspelund/martian_tip_improvement
BGP Martian Tunnel-IP Improvements
2023-01-30 10:52:44 +02:00
Donatas Abraitis
e1da8b2500
Merge pull request #12703 from donaldsharp/basic_babel
Basic babel
2023-01-30 10:45:49 +02:00
Donald Sharp
d844d516da tests: Super simple babel test
Just get babel started and ensure that the v4 routes
are actually installed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-28 11:17:08 -05:00
Donald Sharp
6d078ff808 babeld: During intf startup, ignore address already in use
When listening on a multicast group.  No need to actually
fail the operation when it's already being used.

Let's not treat the Address already in use error message
as one that is stopping everything from working.  Especially
since multiple interface events cause this to happen.

Without this, if config is read in before full connection
to zebra, babel will never establish neighbors.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-28 09:32:34 -05:00
Donald Sharp
403081e12a babeld: The function is already a pointer
Don't send the address of in.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-28 09:31:52 -05:00
Trey Aspelund
4dabdde32a bgpd: move tunnel-ip comparison into handler
Moves the old/new IP comparison into handle_tunnel_ip_change instead of
expecting the caller to do the check on their own.
Also changes handle_tunnel_ip_change to return void since it only ever
returned 0 in all cases.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-01-27 11:12:14 -05:00
Trey Aspelund
826c3f6db3 bgpd: only unimport routes if tunnel-ip changes
When processing a new local VNI, we were always walking the global EVPN
table to look for routes that needed to be removed due to a martian
nexthop change (specifically a tunnel-ip change).
Since the martian TIP table is global (all VNIs) + the walk is also in
the global table (all VNIs), we can trust that any new TIP from any VNI
would result in routes getting removed from the global table and
unimported from all live (L2)VNIs.
i.e.
The only time this update is actionable is if we are adding/removing an
IP from the martian TIP table, and we do not need to walk the table for
normal refcount adjustments.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-01-27 11:11:44 -05:00
Donald Sharp
2d5928355c
Merge pull request #12690 from opensourcerouting/feature/deny_merging_prs_with_freeze_label
github: Prevent merging (fail CI) if 'freeze' label exists for PR
2023-01-27 07:43:02 -05:00
Donald Sharp
1646720fb5
Merge pull request #12691 from mjstapp/fix_dplane_prov_lock
zebra: fix SA warning, don't lock plugin list
2023-01-27 07:35:50 -05:00
David Lamparter
c2c6c55e8d build: enable format string warnings
I thought these were included in `-Wall -Wextra`, but apparently not.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:20 +01:00
David Lamparter
d131cca998 bfdd: fix size_t format string
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:20 +01:00
David Lamparter
0e4e879b40 bgpd: fix silly format string SNAFU
Someone thought vty_out accepts a list of strings.  It does not.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:20 +01:00
David Lamparter
e678b143a9 bgpd: fix format string mess in AS-path printing
This was done *very* weirdly.  Make it slightly less so.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:20 +01:00
David Lamparter
e59bd527e9 lib: literal constant format string for termtable
While this wasn't a problematic use of a format string, make it a
literal constant so the compiler is happy.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:20 +01:00
David Lamparter
ae08de9f42 *: fix non-const northbound XPath format strings
Passing a pre-formatted buffer in these places needs a `"%s"` in front
so it doesn't get formatted twice.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:20 +01:00
David Lamparter
c84e518709 *: no-warn pragmas for non-const format strings
We do use non-constant/literal format strings in a few places for more
or less valid reasons;  put `ignored "-Wformat-nonliteral"` around those
so we can have the warning enabled for everywhere else.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:20 +01:00
David Lamparter
0f9de11a11 *: apply proper format string attributes
So that we get warnings about broken format strings.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27 12:01:17 +01:00
Donatas Abraitis
a2ec3f48ef
Merge pull request #12696 from donaldsharp/shadowed
Shadowed
2023-01-27 11:50:27 +02:00
Donald Sharp
8586a88abb lib: Remove global variable exposure struct host host
This was only used in one place and we have accessor functions
now.  So let's use them.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-26 11:40:33 -05:00
Donald Sharp
9ca6d3db2b watchfrr: dmn variable shadows previous declaration
There is no need to declar the same temp variable 2 times.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-26 11:40:33 -05:00
Donald Sharp
75c87b7279 zebra: i declaration shadows other i declared
Clear up some confustion

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-26 11:40:33 -05:00
Donald Sharp
08c3dba719 lib: Forward declaration of a struct does not need to have data type
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-26 11:40:33 -05:00
Rafael Zalamena
1596fa9c2f
Merge pull request #12694 from donaldsharp/zebra_rib_dead_code
remove dead code
2023-01-26 13:30:55 -03:00
Donald Sharp
e5a5e5388e lib: Remove dead code
wheel_stop and wheel_start have never been used.  Let's just remove
them.  After close to 7 years, if needed someone else can add back in.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-25 15:45:39 -05:00
Donald Sharp
d2a174233b zebra: Remove impossible to use function
The rib_update_handle_vrf function is no longer being used.
Cleanup it's usage from zebra.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-25 15:27:41 -05:00
Mark Stapp
6d5014b657 zebra: fix SA warning, don't lock plugin list
Locking around the list of providers/plugins is not
helpful - these only change at init time. Clear some SA
warnings by removing the locking.

Signed-off-by: Mark Stapp <mjs@labn.net>
2023-01-25 08:38:47 -05:00
Donatas Abraitis
c30461fc74
Merge pull request #12685 from louis-6wind/fix-vpnv4-noretain
topotests: fix bgp_vpnv4_noretain
2023-01-25 11:23:08 +02:00
Donatas Abraitis
a228215b00 github: Prevent merging (fail CI) if 'freeze' label exists for PR
Mostly useful duging the freeze period to warn the maintainers from merging
unwanted PRs.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-25 10:43:55 +02:00