| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'`
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
log.c provides functionality for associating a constant (typically a
protocol constant) with a string and finding the string given the
constant. However this is highly delicate code that is extremely prone
to stack overflows and off-by-one's due to requiring the developer to
always remember to update the array size constant and to do so correctly
which, as shown by example, is never a good idea.b
The original goal of this code was to try to implement lookups in O(1)
time without a linear search through the message array. Since this code
is used 99% of the time for debugs, it's worth the 5-6 additional cmp's
worst case if it means we avoid explitable bugs due to oversights...
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following commands were causing bgpd to crash when vpnv4/vpnv6 static
routes are configured:
bgpd aborted: vtysh -c "show ip bgp view all ipv4 vpn json"
bgpd aborted: vtysh -c "show ip bgp view all ipv4 vpn"
bgpd aborted: vtysh -c "show ip bgp view all ipv6 vpn json"
bgpd aborted: vtysh -c "show ip bgp view all ipv6 vpn"
bgpd aborted: vtysh -c "show ip bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh -c "show ip bgp vrf all ipv4 vpn"
bgpd aborted: vtysh -c "show ip bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh -c "show ip bgp vrf all ipv6 vpn"
bgpd aborted: vtysh -c "show bgp view all ipv4 vpn json"
bgpd aborted: vtysh -c "show bgp view all ipv4 vpn"
bgpd aborted: vtysh -c "show bgp view all ipv6 vpn json"
bgpd aborted: vtysh -c "show bgp view all ipv6 vpn"
bgpd aborted: vtysh -c "show bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh -c "show bgp vrf all ipv4 vpn"
bgpd aborted: vtysh -c "show bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh -c "show bgp vrf all ipv6 vpn"
Problem found with the CLI fuzzer.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|
|
|
| |
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|
|
|
| |
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
|
|
| |
encap attribute)
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bpacket_reformat_for_peer() function rewrites the nexthop of outgoing
route updates on a per-peer basis in order to handle route-maps ("set
ip next-hop") and locally-originated routes missing a nexthop.
In the latter case, RFC 4271 says the following: "When announcing a
locally-originated route to an internal peer, the BGP speaker SHOULD use
the interface address of the router through which the announced network
is reachable for the speaker as the NEXT_HOP".
We were doing this for regular IPv4/IPv6 routes, but not for
VPN/EVPN/ENCAP routes, which were being announced with invalid nexthops
(0.0.0.0 or ::).
This patch fixes this problem.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|
|
|
|
|
|
| |
Static encap routes don't have an MPLS label. Also, use %u instead of
%d to print the label.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|
|
|
| |
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|
|
|
|
|
| |
This function is not used anymore since commit fb1d2a2d9.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
| |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|
|
|
|
|
|
|
|
| |
This reverts commit fa14eb2c0b408982a6634459b3afb21e9df6326a.
This was for stable/2.0 and wasn't intended to go on stable/3.0
-- my bad, missed this in the merge.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|\
| |
| |
| | |
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |
| |
| |
| | |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
bgpd/bgp_fsm.c
ospf6d/ospf6_lsa.c
ospfd/ospf_vty.c
zebra/redistribute.c
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert "ospf6d: fix decimal area ID cli"
commit a27cb3cfe901d4f1378116bc91e6656aaed7c74c
Revert "bgpd: add back unicast option to 'address-family vpnv(4&6)' Issue #459"
commit 399598bf6b749daa15d70ad64fc885d00cde1225
Revert "Fix the memory leak"
commit d8d58e98397d8442ec68f8d715b64d5e6000b903
Revert "zebra: 'no ip route 4.1.1.19 255.255.255.255 99' is ambiguous"
commit 83f35619359379687f21c839d61121e4ebe72541
Revert "ospf6d: Allow unconfig of unknown lsa's"
commit 5b0747d71df6006835ead8e6354f70b26f7bca80
Revert "Fix the "Dead assignment" of clang SA."
commit 3a6570a1f145c49155d72a815441025085dd45ad
Revert "snapcraft: Improve README.usage.md based on feedback received"
commit 2a3a819a9c2b2c9700e6228e7352e53b3562776c
Revert "zebra: stop deregistering static nexthops unless removing the static"
commit 1dac3a9619c8436f81c7b37f0252574b0b677dd0
All of these changes do not apply on stable/3.0 due to either CLI
changes or another fix already being present.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |\
| | |
| | |
| | | |
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
If you did:
neighbor swp1 interface
neighbor swp1 interface remote-as external
we would not set the remote-as. You could however still do
neighbor swp1 remote-as external
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Ensure that we have a valid vrf before we log
information about it.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Basically if we are reading in a cli with a extended-nexthop
and we have not received from zebra the interface we are working
on I believe we have a race condition where we are not
propagating the PEER_FLAG_CAPABILITY_ENHE in this case.
Modify the code to propagate even if we haven't found the
interface yet.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When bgp logs ADJCHANGE messages include the
hostname and vrf that this change is being made
in.
Ticket: CM-10922
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Sometimes, like once every 400 iterations, when you restart
Quagga, extended-nexthop has been turned off for interface
based config( for 5549 ).
Examining the code, there is only 1 real path to setting
the PEER_FLAG_CAPABILITITY_ENHE and that is through
peer_conf_interface_get. Modify this code path
to always set the PEER_FLAG_CAPABILITY_ENHE if it is
not already set.
In addition, fix a possible pointer dereference.
Ticket: CM-12929
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem reported that ecmp wasn't working correctly in a vrf with
ipv6. Issue was that originator of the routes were sending the updates
with a link-local nexthop and nhlen of 16. In this particular case,
bgp_zebra_announce was using the wrong call to get the ifindex and
was not supplying the vrf. This caused ecmp to work only in the case
of the default vrf.
Ticket: CM-15545
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: CCR-6017
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem found to be derefencing a vrf that had already been deleted. Fix
verifies that vrf exists before using it.
Ticket: CM-13682
Signed-off-by: Don Slice
Reviewed By: Vivek Venkatraman
Testing Done: manual testing, re-run of failing scripts good
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
When bgp logs ADJCHANGE messages include the
hostname and vrf that this change is being made
in.
Ticket: CM-10922
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The route-map compilation function was comparing < 10
instead of <= 10. While the cli was accepting 1-10.
Fix:
!
route-map FOO permit 44
set as-path prepend last-as 10
!
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure that we have a valid vrf before we log
information about it.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Basically if we are reading in a cli with a extended-nexthop
and we have not received from zebra the interface we are working
on I believe we have a race condition where we are not
propagating the PEER_FLAG_CAPABILITY_ENHE in this case.
Modify the code to propagate even if we haven't found the
interface yet.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When bgp logs ADJCHANGE messages include the
hostname and vrf that this change is being made
in.
Ticket: CM-10922
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes, like once every 400 iterations, when you restart
Quagga, extended-nexthop has been turned off for interface
based config( for 5549 ).
Examining the code, there is only 1 real path to setting
the PEER_FLAG_CAPABILITITY_ENHE and that is through
peer_conf_interface_get. Modify this code path
to always set the PEER_FLAG_CAPABILITY_ENHE if it is
not already set.
In addition, fix a possible pointer dereference.
Ticket: CM-12929
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
|\ \
| | |
| | | |
bgpd: assorted fixes (stable/3.0)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These commands were causing bgpd to crash if a static VPN route was
configured.
While here, fix a bug in bgp_static_add() and bgp_static_delete().
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Only happens when FRR is configured with --enable-oldvpn-commands.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|\ \ \
| |/ /
|/| | |
bgpd: Issue #198 - clean up duplicate encap SAFI commands
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lou Berger <lberger@labn.net>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
hop for EVPN
In the case of EVPN, add the nexthop attribute.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
|