The FIFO really was a LIFO for some reason.
Push new packets onto the top, always pull from the bottom.
This allows eigrp neighbors to come up. Topotests
eigrp-topo1( in a topotest PR ) now form neighbors
with itself. With this commit.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Store the neighbor information( if available ) in the packet
data that we are sending. This will allow in a future commit
the ability to fixup the outgoing ack we are sending.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This code fixes a crash in EIGRP when on initial
neighbor formation we need to send more than 1 packet
of data to the nbr.
I was testing this by redistributing connected
and just adding a bunch of /32 address to
an interface.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This reverts commit c14777c6bf.
clang 5 is not widely available enough for people to indent with. This
is particularly problematic when rebasing/adjusting branches.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Recent additions to prefix_copy to check afi type exposed
an issue with eigrp setting the wrong afi type for a `struct prefix`.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
The FSF's address changed, and we had a mixture of comment styles for
the GPL file header. (The style with * at the beginning won out with
580 to 141 in existing files.)
Note: I've intentionally left intact other "variations" of the copyright
header, e.g. whether it says "Zebra", "Quagga", "FRR", or nothing.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* Advertise routes to zebra
* Connected routes should not have a nexthop address
* Fix segfaut on exit
Signed-off-by: Renato Westphal <renatowestphal@gmail.com>
EIGRP was not installing routes it learned from it's
neighbors into the rib.
This is probably a hack, but zebra now knows about the
routes.
robot.cumulusnetworks.com# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, P - PIM, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct,
> - selected route, * - FIB route
K>* 0.0.0.0/0 via 10.0.2.2, enp0s3
C>* 10.0.2.0/24 is directly connected, enp0s3
E 192.168.2.0/24 [0/0] via 127.0.0.1, enp0s10 inactive
C>* 192.168.2.0/24 is directly connected, enp0s10
E>* 192.168.3.4/32 [0/0] via 192.168.2.144, enp0s10
E>* 192.168.4.5/32 [0/0] via 192.168.2.144, enp0s10
E>* 192.168.4.6/32 [0/0] via 192.168.2.144, enp0s10
C>* 192.168.22.11/32 is directly connected, lo
robot.cumulusnetworks.com# show ip route 192.168.4.5
Routing entry for 192.168.4.5/32
Known via "eigrp", distance 0, metric 0, best
* 192.168.2.144, via enp0s10
robot.cumulusnetworks.com#
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Please Note, I will be redoing this commit message with
more information.
Additionally I will rework the lib/* changes into their
own commits.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>