Commit Graph

23389 Commits

Author SHA1 Message Date
David Lamparter
96244aca23 *: require semicolon after DEFINE_QOBJ & co.
Again, see previous commits.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:37 +01:00
David Lamparter
8451921b70 *: require semicolon after DEFINE_HOOK & co.
See previous commit.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:17 +01:00
David Lamparter
bf8d3d6aca *: require semicolon after DEFINE_MTYPE & co
Back when I put this together in 2015, ISO C11 was still reasonably new
and we couldn't require it just yet.  Without ISO C11, there is no
"good" way (only bad hacks) to require a semicolon after a macro that
ends with a function definition.  And if you added one anyway, you'd get
"spurious semicolon" warnings on some compilers...

With C11, `_Static_assert()` at the end of a macro will make it so that
the semicolon is properly required, consumed, and not warned about.

Consistently requiring semicolons after "file-level" macros matches
Linux kernel coding style and helps some editors against mis-syntax'ing
these macros.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:17 +01:00
David Lamparter
15c05f1edf *: require ISO C11 (or C++11)
It's 2021... time to drop some 10yo compat stuff.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:17 +01:00
David Lamparter
247c7e27a9 snmp: change -std=gnu99 to -std=gnu11
The point of the `-std=gnu99` was to override a `-std=c99` that may be
coming in from net-snmp.  However, we want C11, not C99.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:17 +01:00
Gaurav Goyal
58ef1668ae nhrpd: When IPsec profile is added or deleted, reset the vc and re-check peer
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-17 17:03:47 +13:00
Reuben Dowle
74e5ba3a3f nhrpd: Make comments clearer, fix style issues
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-17 17:02:19 +13:00
Gaurav Goyal
083bbfaebf nhrpd: Close IPSec connection when tunnel protection removed
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-17 16:56:46 +13:00
Gaurav Goyal
4cbaf956f6 nhrpd: Retry IPSec if NHRP is repeatedly failing
This prevents a failed IPSec connection from preventing DMVPN from working.
A failure situation can be reproduced using a Cisco peer, and and disabling then
re-enabling the tunnel IPSec protection (after the IPSec connection has
already been established).

Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-17 16:56:46 +13:00
Donald Sharp
0f3ac8198a bgpd: If we have a SAFI conflict do not allow labeled unicast to reset
If we have a SAFI conflict, ie we are trying to activate safi's
UNICAST and LABELED_UNICAST at the same time, we should not
cause bestpath to be rerun and we should not try to put
labels on everything.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-16 22:39:20 -04:00
Donald Sharp
a59803d060 bgpd: Attempting to activate unicast and labeled-unicast
Should return an actual useful error message.
Commit: 055679e915 messed this error message
up.

Fixes: #8246
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-16 22:38:13 -04:00
ckishimo
9b1bb522e0 tests: fix warning when checking ospfv3 convergence
The following error is shown when running the OSPFv3 tests

2021-03-16 23:37:44,792 INFO: Function returned global name 'data_rid' is not defined
2021-03-16 23:37:44,792 INFO: Retry [#1] after sleeping for 2s
2021-03-16 23:37:46,794 INFO: Verifying OSPF6 neighborship on router r1:
2021-03-16 23:37:46,993 INFO: Output for command [ show ipv6 ospf6 neighbor ] on router r1:
Neighbor ID     Pri    DeadTime    State/IfState         Duration I/F[State]
2.2.2.2           1    00:00:03     Full/PointToPoint    00:00:01 r1-r2-eth0[PointToPoint]

Fix the "data_rid" warning by using the correct variable

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-03-17 00:19:54 +01:00
ckishimo
800cc91882 ospf6d: fix warning message when interfae disabled
When removing an interface from an existing area,
the warning message we get is not correct

  interface r1-r2-eth0
   ipv6 address 2013:12::1/64
   ipv6 ospf6 dead-interval 4
   ipv6 ospf6 hello-interval 1
  !
  interface dummy
   ipv6 ospf6 dead-interval 4
   ipv6 ospf6 hello-interval 1
   ipv6 ospf6 network point-to-point
  !
  router ospf6
   ospf6 router-id 1.1.1.1
   interface r1-r2-eth0 area 0.0.0.0
  !

  r1(config-if)# router ospf6
  r1(config-ospf6)# no interface dummy area 0.0.0.0
  No such Area-ID: 0.0.0.0   <--- area 0.0.0.0 exists

This is fixing the error message

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-03-17 00:14:32 +01:00
ckishimo
d100d0b00c ospf6d: remove interface prefix when area is removed
This bug was first reported in PR#7717. When removing an interface
from the area, the interface prefix is still shown

  r1# sh ipv6 ospf6 interface prefix
  *N IA 2013:12::/64       ::1      r1-r2-eth0 00:00:12

  r1# conf t
  r1(config)# router ospf6
  r1(config-ospf6)# no interface r1-r2-eth0 area 0.0.0.0
  r1(config-ospf6)# exit

  r1# sh ipv6 ospf6 interface prefix
  *N IA 2013:12::/64       ::1      r1-r2-eth0 00:00:22

This fix will check if the interface is disabled so the
prefix is not shown

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-03-17 00:01:22 +01:00
ckishimo
5ac69ec52a ospf6d: fix iface commands lost when removing from area
In OSPFv3 when removing the interface from an area, all ospf6
interface commands are lost, so when changing the area you need
to reconfigure all ospf6 interface commands again

  r1# sh run
  interface r1-r2-eth0
   ipv6 address 2013:12::1/64
   ipv6 ospf6 dead-interval 4
   ipv6 ospf6 hello-interval 1
   ipv6 ospf6 network point-to-point
  !
  router ospf6
   ospf6 router-id 1.1.1.1
   interface r1-r2-eth0 area 0.0.0.0
  !

  r1# conf t
  r1(config)# router ospf6
  r1(config-ospf6)# no interface r1-r2-eth0 area 0.0.0.0
  r1(config-ospf6)# exit

  r1# sh run
  interface r1-r2-eth0
   ipv6 address 2013:12::1/64
  !                            <----- missing all ipv6 ospf6 commands
  router ospf6
   ospf6 router-id 1.1.1.1
  !

This is because the interface is being deleted instead of disabled
(see PR#7717) I believe the interface should be left as disabled
(not deleted) when removing the interface from the area

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-03-16 23:47:23 +01:00
Donald Sharp
4d7ae2c0dd
Merge pull request #8258 from volta-networks/feat_ldp_snmp_with_stats
ldpd: Add support for the read-only snmp mib objects that are statistics
2021-03-16 18:31:03 -04:00
Donald Sharp
48e85d2296
Merge pull request #8268 from mjstapp/doc_dev_topo_notes
doc: add info to topotest dev doc
2021-03-16 18:22:02 -04:00
Donald Sharp
77409683a7
Merge pull request #8270 from volta-networks/fix_isis_snmp_coverity
isisd: Fix coverity warnings
2021-03-16 18:21:47 -04:00
lynne
1f4a8543d7 ospf6d: Fix coverity errors
Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-03-16 16:08:59 -04:00
Igor Ryzhov
4df3e31c3d bfdd: separate echo rx/tx timers
Currently there is a single interval for both RX and TX echo functions.
This commit introduces separate RX and TX timers for echo packets.

The main advantage is to be able to set the receive interval to zero
when we don't want to receive echo packets from the remote system.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-16 22:14:57 +03:00
Donald Sharp
9bc9a96069
Merge pull request #8266 from idryzhov/eigrp-cli-fixes
eigrp cli fixes
2021-03-16 14:47:00 -04:00
Donald Sharp
3406c16cbe
Merge pull request #7963 from volta-networks/feat_pceplib_into_frr_github
pceplib: Integrate pcelib into frr
2021-03-16 14:03:34 -04:00
Donald Sharp
30643d6f31
Merge pull request #8155 from idryzhov/zebra-support-bundle
zebra support bundle fixes and improvements
2021-03-16 13:00:37 -04:00
lynne
e91a589b93 isisd: Fix coverity warnings
Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-03-16 12:55:28 -04:00
Mark Stapp
5530d55d3c zebra: capture backup nexthop info with recursive resolution
When resolving a recursive route, capture backup nexthop info
along with the resolving nexthops.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-16 12:14:53 -04:00
Mark Stapp
aa45883818 zebra: add ui control for use of backup nexthops in resolution
Add a control and api for the use of backup nexthops in
recursive resolution. With 'no', we won't try to use installed
backup nexthops when resolving a recursive route.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-16 12:14:53 -04:00
Stephen Worley
0a7edab036
Merge pull request #7993 from mjstapp/reorg_resolve
zebra: reorg nexthop resolution code
2021-03-16 11:34:33 -04:00
lynne
ccf260c4c8 ospfd6: Clear locks when ospf messages need to be chunked
When there are too many LSA updates to be sent in a packet the code needs to
correctly clear the locks that are taken while walking the lists and then wait
for the appropriate timer to expire to continue walking the list.   The routine
that was being called would not properly remove all the locks that needed to be
cleared, and would also try to incorrectly delete the lsa/route.   The code now
clears the locks and leaves the lsa on the list.  When the timers fire again
the code continues walking the list to send the rest of the lsas to the
neighbor.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-03-16 11:34:17 -04:00
Patrick Ruddy
01183a2b00
Merge pull request #8226 from adharkar/frr-evi_rx
bgpd: Reevaluate es_evi_vtep active state on disable-ead-evi-rx config flap
2021-03-16 15:32:55 +00:00
Pat Ruddy
a1997ea033 tests: re-enable RTE tests after removing fixed ifindices
Change ifindex test to grab the correct indices using the API
provided.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-03-16 15:29:20 +00:00
Pat Ruddy
2bf118962f tests: fix formatting error to make black clean
Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-03-16 15:29:19 +00:00
Mark Stapp
b43be6b8f6 doc: add more notes about new topotests
Add some extra notes to the dev doc section about writing new
topotests: check for OS/kernel support if necessary; avoid
volatile or unstable data like ifindices or link-locals.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-16 11:28:25 -04:00
Mark Stapp
4f32d35ca9 doc: fix warnings in dev docs
Fix a couple of warnings in dev doc rst files.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-16 11:27:59 -04:00
Igor Ryzhov
7f9c68df53 eigrpd: fix dependency on operational state in cli
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-16 17:45:06 +03:00
Igor Ryzhov
77a42534c1 eigrpd: fix xpaths
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-16 17:44:25 +03:00
Donald Sharp
474cfe4a6c bgpd: Set metric appropriately for the bnc for a v6 LL address
The v6 LL commit 8761cd6ddb

incorrectly was setting the metric value to 1 for the underlying
connected interface.  Modify the code to use a metric value of 0
instead of 1 that now represents the actual metric value that
was originally passed up.

This was noticed when the `show bgp ipv4 uni` command was
inserting a `(metric 1)` into output where before it was not.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-16 10:35:40 -04:00
Donald Sharp
877155ed06 sharpd: Dump metric received for the reachability
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-16 10:35:40 -04:00
Igor Ryzhov
f1825d571e bfdd: warn users about echo-mode restrictions
Echo-mode implementation is currently broken. Instead of sending packets
to it's own address, bfdd is sending echo packets to the peer's address.
It may seem to work when testing between two FRR instances, because FRR
loops back such packets, but no other implementation is supposed to do
that.

Let's warn users that the current implementation works only between two
FRR instances.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-16 17:25:06 +03:00
Igor Ryzhov
5aeb216ea5 bfdd: fix starting echo receive timer
Currently this timer is only started when we receive the first echo
packet. If we never receive the packet, the timer is never started and
the user falsely assumes that echo function is working.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-16 17:25:06 +03:00
Karen Schoener
eb44a85454 tests: update LDP SNMP topotest to walk mib objects that are statistics
Signed-off-by: Karen Schoener <karen@voltanet.io>
2021-03-16 10:23:34 -04:00
Karen Schoener
d4d6e7d87e ldpd: Add support for the read-only snmp mib objects that are statistics
Add support for the read-only snmp mib objects as described in RFC 3815
that are statistics.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
Signed-off-by: Karen Schoener <karen@voltanet.io>
2021-03-16 10:23:34 -04:00
Igor Ryzhov
81ef5048dd
Merge pull request #8260 from volta-networks/fix_isis_snmp_test
test: fix isis-snmp test
2021-03-16 17:20:35 +03:00
lynne
83543d89ae test: fix isis-snmp test
Remove ifindex values being tested because it can change
between runs of the test.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-03-16 08:00:41 -04:00
David Schweizer
83d2076e4f tests: add. iproute2 VRF capability check example
Additional example usage of iproute2_is_vrf_capable check in
isis-topo1-vrf topotest.

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
2021-03-16 09:34:21 +01:00
Donatas Abraitis
293b8b9529
Merge pull request #8214 from chiragshah6/mdev
tools: frr-reload refine error handling
2021-03-16 09:28:03 +02:00
David Lamparter
c634f5da24
Merge pull request #8254 from donaldsharp/various_fixes 2021-03-16 07:41:35 +01:00
Donald Sharp
531d4171c7 pimd: Fix clang issue with -Waddress-of-packed-member
Recent change in commit: 6b73800ba2

Caused this error to pop up in pim_igmp_mtrace.c:

error: taking address of packed member 'rsp_addr' of class or structure 'igmp_mtrace' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]

Follow the pattern used in the code to solve this problem for clang

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-15 11:46:44 -04:00
Donald Sharp
d588b995f9 bgpd: use appropriate printf formatter for some uint32_t
newm and existm are uint32_t so let's use %u instead of %d
to print them out.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-15 10:56:08 -04:00
Donald Sharp
710b3613ff
Merge pull request #8234 from reubendowle/fixes/nhrp-trafic-indication
nhrpd: Set hop count to 1 in traffic indication
2021-03-15 09:45:30 -04:00
Mark Stapp
cc01c03434
Merge pull request #8230 from donaldsharp/flex_more
more switchover to using our builtin printf functionality
2021-03-15 08:36:23 -04:00