Commit Graph

207 Commits

Author SHA1 Message Date
Donald Sharp
affe9e9983 *: Convert list_delete(struct list *) to ** to allow nulling
Convert the list_delete(struct list *) function to use
struct list **.  This is to allow the list pointer to be nulled.

I keep running into uses of this list_delete function where we
forget to set the returned pointer to NULL and attempt to use
it and then experience a crash, usually after the developer
has long since left the building.

Let's make the api explicit in it setting the list pointer
to null.

Cynical Prediction:  This code will expose a attempt
to use the NULL'ed list pointer in some obscure bit
of code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-05 10:53:13 -04:00
Donald Sharp
12e5c4abf1 eigrpd: Remove unnecessary macro definitions
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 21:29:08 -04:00
Donald Sharp
b748db674a eigrpd: Remove ei mapping to connected routes
We need one struct eigrp_interface per ifp structure
not a ifp->info structure with a ei per connected.

Some minor code cleanup as well with macros and
their weird usage.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 21:24:59 -04:00
Donald Sharp
79b3087675 eigrpd: Start fixing eigrp_interface
The EIGRP interface handling code created 2 levels
of interface information, the ei( created per *connected*
address?????) and the ifp->info pointer.

Start the combination of pushing these together and
cleaning up the weirdness that is these two data
structures.

This commit probably breaks eigrp's handling of
interfaces.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 19:51:49 -04:00
Donald Sharp
773829844f eigrpd: Follow other protocol leads and exit when told to
EIGRP was continuing to run after being told to exit.

Fixes:#1224
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-25 15:43:44 -04:00
Renato Westphal
a74e593b35 *: fix segfault when sending more than MULTIPATH_NUM nexthops
This is a fallout from PR #1022 (zapi consolidation). In the early days,
the client daemons would allocate enough memory to send all nexthops
to zebra.  Then zebra would add all nexthops to the RIB and respect
MULTIPATH_NUM only when installing the routes in the kernel. Now things
are different and the client daemons can send at most MULTIPATH_NUM
nexthops to zebra, and failure to respect that will result in a buffer
overflow. The MULTIPATH_NUM limit in the new zebra API is a small price
we pay to avoid allocating memory for each route sent to zebra.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-09-21 11:21:09 -03:00
Renato Westphal
8879bd2267 *: make all daemons call frr_fini() on exit
This allow us to find real leaks more easily with tools like valgrind.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-09-12 11:25:16 -03:00
Donald Sharp
21dfc9ed50 eigrpd: Clean up some new coverity issues
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-05 18:56:40 -04:00
Donald Sharp
af0a634405 eigrp: Fix missing neighbor->nexthop changes?
I'm not sure how this was missed or why master
is not failing to compile.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-05 07:48:52 -04:00
David Lamparter
8972cae0fd Merge pull request #1051 from donaldsharp/plists
Refactor Access and Prefix Lists application
2017-09-05 04:41:17 +02:00
Renato Westphal
8941a38520 Merge pull request #1078 from dwalton76/ospfd-network-cmd-warning
*: return CMD_WARNING if command was already configured
2017-08-31 13:23:25 -03:00
Jafar Al-Gharaibeh
959768e8d0 Merge pull request #1044 from donaldsharp/combination
Coverity Cleanup of Stuff
2017-08-31 10:25:55 -05:00
Daniel Walton
851fcbaebe *: return CMD_WARNING if command was already configured
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>

If the user configures some command that is already in the config we
should return CMD_WARNING instead of CMD_WARNING_CONFIG_FAILED
2017-08-31 15:14:01 +00:00
David Lamparter
a8b828f3c3 *: remove empty "interface XYZ" config blocks
Using the previously-added vty_frame() support, this gets rid of all the
pointless empty "interface XYZ" blocks that get added for any interface
that shows up in the system (e.g. dummys, tunnels, etc.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-08-29 08:36:03 +02:00
Donald Sharp
255ab9408f eigrpd: eigrp_neighbor_entry to eigrp_nexthop_entry
The struct 'eigrp_neighbor_entry' really represents
a nexthop for a prefix.  Rename the structure to
better represent what we are representing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-26 19:32:06 -04:00
Don Slice
cd6c573c69 eigrpd: add correct interface metrics when interface comes up
Problem noticed where we were not sending the correct metric values
to our peers for connected interfaces.  Found that we were not storing
these values on the structure used to send the update packets.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-08-26 15:55:29 -04:00
Donald Sharp
71b52ef23a eigrpd: Refactor access/prefix list applications
There was allot of code cut-n-pasting to
apply the prefix/access lists.  Refactor
to simplify code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-26 09:15:58 -04:00
Donald Sharp
3a45a729a3 eigrpd: Make code a bit easier to read in eigrp_update.c
Lots of multiple pointer dereferences that made the
code lines really long, so let's properly setup
the pointers in a way that makes it easier to read.

No need to lookup the eigrp pointer because we already
have it, so let's use this( this will be good for the
future too when we have VRF's).

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-26 08:53:02 -04:00
Donald Sharp
e8165dd380 eigrpd: Fix access/prefix list handling in updates
Use eigrp pointer passed in instead of looking it up,
additionally we should actually look at the correct
access list.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-26 08:52:59 -04:00
Donald Sharp
9ca25fedba *: Add RMAP_COMPILE_SUCCESS to enum
Add the RMAP_COMPILE_SUCCESS and switch over to using it.
Refactoring allows a removal of a if statement to just
use the switch statement already in place.  Additionally
the reworking cleans up memory freeing in a couple of spots.
In one spot we no longer will leak memory too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-25 10:48:30 -04:00
Donald Sharp
cc9b06ad5e eigrpd, ospfd: Cleanup inet_aton return code checking
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 20:34:24 -04:00
Donald Sharp
dbfd865b05 eigrpd: Cleanup various SA Issues
1) Handle key value not found on interface
2) Handle various NULL pointer possibilities
3) Fix possible integer overflow
4) Fix memory leak
5) Check return codes on sscanf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 20:34:20 -04:00
Donald Sharp
532e75e6ee eigrpd: Fix distance comparison
The distance comparison for when we received an
internal and we already had an internal was
overriding the metrics of the connected.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:09:04 -04:00
Donald Sharp
4a64eed577 eigrpd: Fix compiler warning introduced
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:09:04 -04:00
Donald Sharp
a96029f824 eigrpd: Remove 'struct prefix_ipv4' from eigrp_network.c
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:09:04 -04:00
Donald Sharp
0ffa840756 eigrpd: Remove 'struct prefix_ipv4' from eigrp_interface.c
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:09:04 -04:00
Donald Sharp
cd6c066eb3 eigrpd: Refactor eigrp_network_[un]set to use prefix
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:09:03 -04:00
Donald Sharp
476a146963 eigrpd: Refactor eigrp_topoloy_table_lookup_ipv4
Allow eigrp_topology_table_lookup_ipv4 to use
'struct prefix'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:09:03 -04:00
Donald Sharp
836aad7ee8 eigrpd: Refactor to use 'struct prefix' for eigrp_zebra.h
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:09:02 -04:00
Donald Sharp
02b4599881 eigrpd: Convert pe->destination_ipv4 to pe->destination
Convert the destination_ipv4 to a struct prefix and just
call it destination.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
348addb4e7 eigrpd: Use FSM for interface pe already known.
There exists a case where a switch already has
a eigrp_prefix_entry for a interface that is
coming up.

In this situation, we need to use the FSM
to let the connected route take precedence
instead of blindly just updating the world
about it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
5ca6df7822 eigrpd: No need to create TLV type
There is no need to create a TLV type to pass in for the
FSM message.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
db6ec9ff6e eigrpd: Remove union from FSM msg
Remove the union of passing the TLV and just pass the metric in.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
3aea4e507b eigrpd: Improve external route distance comparison
If the new nexthop is external while the previous
best was Internal or Connected, it should always loose.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
7cfa432255 eigrpd: make fsm msg data_type an enum
We need to eventually be able to handle multiple
data types to figure out if the distance is better
worse.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
6118272f14 eigrpd: Refactor FSM calling
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
92035b1db4 eigrpd: Fix memory leak in FSM
The FSM was never freeing the msg.  Since we
do not have a special queue for it, just don't
allocate the memory.  In the future we can put
this back.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
695ff37bab eigrpd: Cleanup list accessors
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
c1c32a7803 eigrpd: Remove unnecessary check
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Donald Sharp
cd04424793 eigrpd: Start split-horizon
EIGRP was not handling split-horizon.  This code starts
down the path of properly considering it.  There still
exists situations where we are not properly handling it
though.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-24 08:04:20 -04:00
Renato Westphal
744899219f *: use zapi_route to send/receive redistributed routes as well
Some differences compared to the old API:
* Now the redistributed routes are sent using address-family
  independent messages (ZEBRA_REDISTRIBUTE_ROUTE_ADD and
  ZEBRA_REDISTRIBUTE_ROUTE_DEL). This allows us to unify the ipv4/ipv6
  zclient callbacks in the client daemons and thus remove a lot of
  duplicate code;

* Now zebra sends all nexthops of the redistributed routes to the client
  daemons, not only the first one. This shouldn't have any noticeable
  performance implications and will allow us to remove an ugly exception
  we had for ldpd (which needs to know all nexthops of the redistributed
  routes). The other client daemons can simply ignore the nexthops if
  they want or consult just the first one (e.g. ospfd/ospf6d/ripd/ripngd).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-08-23 20:25:45 -03:00
Renato Westphal
8fb753e360 eigrpd: use the new API to send routes to zebra
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-08-23 18:58:35 -03:00
Renato Westphal
e959008b1e babeld/eigrpd/ldpd/nhrpd: add prefix length sanity checks
Pulled from d917882.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-08-23 17:45:17 -03:00
Renato Westphal
89a8b5cada vnc/eigrpd/isisd: check for the correct message types
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-08-23 17:45:17 -03:00
Renato Westphal
d00061ea32 *: reduce excessive indentation in a few places
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-08-23 17:45:17 -03:00
Lou Berger
3f54388956 Merge pull request #939 from jbonor/optimization
Optimization
2017-08-22 09:01:20 -04:00
David Lamparter
57a553fd9c Merge pull request #1012 from donaldsharp/eigrp_send_version
eigrpd: Setup eigrp to send FRR version
2017-08-22 14:59:22 +02:00
David Lamparter
add57540ba Merge pull request #1009 from donaldsharp/show_cmds
Show cmds
2017-08-21 14:30:41 +02:00
Donald Sharp
63b02a77ca Merge pull request #929 from opensourcerouting/hooks-doc-irdp
hook improvements, more hooks, doc example, IRDP cleanup
2017-08-21 07:47:17 -04:00
Donald Sharp
87f6dc504d *: Add 'show debugging' command from vtysh
Allow vtysh to query every daemon about its
debugging status in one go.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-21 07:23:59 -04:00
Donnie Savage (dsavage)
c283f389d1 eigrpd: fix crash when external route is received
When an external route is received, eigrpd will crash. For now,
    quietly discard the TLV. Work must be done to handle tlv
    processing and changes needed to FSM so it understands an
    external should not be chooses if an internal exist.

    Signed-off-by: Donnie Savage <diivious@hotmail.com>
2017-08-19 21:45:49 -04:00
Donald Sharp
ca9e3d23f6 eigrpd: Fix code comments
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-19 21:07:54 -04:00
Donald Sharp
01cbe587b0 eigrpd: Setup eigrp to send FRR version
Send to our peer the major/minor version of FRR that we are
working with.  I decided to use FRR instead of the os major/minor
because the os itself doesn't tell you what version of EIGRP
you are actually using.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-19 20:56:50 -04:00
Donald Sharp
cf2f4daee3 eigrpd: Pass in actual used parameter to header creation
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-19 14:39:07 -04:00
Donald Sharp
a6e8810ee3 eigrpd: Allow eigrp_update_send to recognize a full packet
Modify code to allow the eigrp_update_send function to
recognize that we have a full packet and to do the right
thing from there.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-19 14:23:15 -04:00
Donald Sharp
a75c1cc191 eigrpd: Fix memory leak in eigrp_update
When we send packets to a nbr, make a duplicate copy
as that each packet sent is assumed to be a complete
to itself.

Also clean up indentation in loop over figuring out
what to send.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-19 14:16:16 -04:00
Donald Sharp
17a2f658da eigrpd: When generating packets only put one on send queue at a time
When we generate update packets to go to our neighbor, Only
put one packet at a time on the send queue.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-18 15:00:40 -04:00
Donald Sharp
1a0770e387 eigrpd: Only put 1 packet at a time on send queue
When we have received an ack for the last reliable
packet we must only put 1 packet onto the send
queue.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-18 15:00:40 -04:00
Donald Sharp
29e48d5859 eigrpd: and More Debugging Cleanup
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-17 19:40:44 -04:00
Donald Sharp
0f6c16fbe6 eigrpd: Cleanup some more debugs
Properly place a few more debugs.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-17 19:20:45 -04:00
Donald Sharp
f90f65a242 eigrpd: Cleanup FIFO
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>
2017-08-17 19:16:53 -04:00
Jorge Boncompte
19aad877b7 lib: optimize IPV4_ADDR_[SAME|COPY]()
Change all callers of IPV4_ADDR_SAME() to pass a pointer to a struct in_addr

Use assignment and comparison instead of memcpy() and memcmp(). Avoids function
calls. Faster.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
2017-08-17 17:58:35 +02:00
Donald Sharp
9c273c6d28 eigrpd: Rework ack sent to neighbor
EIGRP schedules and builds packets to send in the future.
Before those packets are being sent, we are receiving
update information from our peer.  At that time we
need to reach into the built packet and reset the
outgoing ack to a better value.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-17 10:02:54 -04:00
Donald Sharp
907b430346 eigrpd: Store nbr in packet data
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>
2017-08-17 09:53:51 -04:00
Donald Sharp
3bbde7327a eigrpd: Remove extra newline in debug
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-17 09:48:21 -04:00
Donald Sharp
9a8d52a495 eigrpd: Cleanup eigrp_get_fsm_event
Make this function a bit more legible

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-15 22:38:17 -04:00
Donald Sharp
748a2ba408 eigrpd: Make eigrp_get_fsm_event use metric changed
Refactor eigrp_get_fsm_event a tiny bit to let all
the states get the new metric.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-15 22:38:17 -04:00
Donald Sharp
9294886309 eigrpd: cleanup eigrp_topology_update_distance
Cleanup eigrp_topology_update_distance to
return an enum of whether or not the metric
has changed or not.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-15 22:38:17 -04:00
David Lamparter
ce19a04aea lib: replace if_add_hook with hook_* logic
This allows modules to register their own additional hooks on interface
creation/deletion.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-08-15 13:25:44 +02:00
Andrew Lunn
b1968f83da eigrpd: fix spelling of "bandwidth"
There are a number of spelling errors in eigrp. But this one is
particular annoying because it is a variable name, not in a comment.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2017-08-10 17:24:24 -05:00
Andrew Lunn
2085179b22 eigrp: Don't dereference NULL timer in a Neighbour
Current, a eigrp_neighbor only has a t_holddown timer when in state
EIGRP_NEIGHBOR_PENDING and EIGRP_NEIGHBOR_UP. In state
EIGRP_NEIGHBOR_DOWN it could be a NULL pointer. Don't dereference the
timer when dumping the neighbour table without first checking it
exists. If it does not exist, display - instead of the remaining time.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2017-08-10 13:25:37 -05:00
Donald Sharp
fc73dd4bdf Merge pull request #911 from opensourcerouting/non-recursive-2
more non-recursive build, fix cross-compile, & doc build mangling
2017-08-09 14:38:07 -04:00
Andrew Lunn
af83cb12f9 eigrpd: Add missing install_element for debug eigrp transmit
debug eigrp transmit command is added to the ENABLE_NODE list, but not
CONFIG_NODE. As a result the command cannot be used in the
configuration file. Add the missing call.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2017-08-09 12:02:01 -05:00
Donald Sharp
7ecf0a4d37 eigrpd: Fix crash and attempt to send data
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>
2017-08-04 19:29:03 -04:00
Donald Sharp
5da387853b eigrpd: Fix a md5 digest issue
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-04 19:29:03 -04:00
Donald Sharp
89bb508b99 eigrpd: Fix argv_find return code confusion
argv_find when it finds a match, returns 1 not 0

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-04 19:29:03 -04:00
David Lamparter
b6f5781c33 build: non-recursive babeld & eigrpd
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-08-04 19:09:14 +02:00
Renato Westphal
493c8ac787 eigrpd: minor fix in the redistribute command
Commands like "redistribute stati" and "redistribute osp" were being
silently ignored.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-07-26 11:51:00 -03:00
Renato Westphal
9b86009a38 bgpd/eigrpd: fix crashes found by the CLI fuzzer
Fixes the following crashes:
* bgpd aborted: vtysh  -c "show ip bgp l2vpn evpn all 1.1.1.1 json"
* bgpd aborted: vtysh  -c "show ip bgp l2vpn evpn all 1.1.1.1"
* bgpd aborted: vtysh  -c "show ip bgp l2vpn evpn all 1.1.1.1/32 json"
* bgpd aborted: vtysh  -c "show ip bgp l2vpn evpn all 1.1.1.1/32"
* bgpd aborted: vtysh  -c "show bgp l2vpn evpn all 1.1.1.1 json"
* bgpd aborted: vtysh  -c "show bgp l2vpn evpn all 1.1.1.1"
* bgpd aborted: vtysh  -c "show bgp l2vpn evpn all 1.1.1.1/32 json"
* bgpd aborted: vtysh  -c "show bgp l2vpn evpn all 1.1.1.1/32"
* bgpd aborted: vtysh  -c "show bgp ipv4 vpn rd 1:1 1.1.1.1/32 json"
* bgpd aborted: vtysh  -c "show bgp ipv4 vpn rd 1:1 1.1.1.1/32"
* bgpd aborted: vtysh  -c "show bgp ipv4 vpn rd 1:1 2001:db8::1/128 json"
* bgpd aborted: vtysh  -c "show bgp ipv4 vpn rd 1:1 2001:db8::1/128"
* bgpd aborted: vtysh  -c "show bgp ipv6 vpn rd 1:1 1.1.1.1/32 json"
* bgpd aborted: vtysh  -c "show bgp ipv6 vpn rd 1:1 1.1.1.1/32"
* bgpd aborted: vtysh  -c "show bgp ipv6 vpn rd 1:1 2001:db8::1/128 json"
* bgpd aborted: vtysh  -c "show bgp ipv6 vpn rd 1:1 2001:db8::1/128"
* bgpd aborted: vtysh  -c "show vnc responses 1.1.1.1/32"
* bgpd aborted: vtysh  -c "show vnc responses 2001:db8::1/128"
* bgpd aborted: vtysh  -c "show vnc responses 11:11:11:11:11:11"
* bgpd aborted: vtysh  -c "show vnc responses"
* eigrpd aborted: vtysh -c "configure terminal" -c "no router eigrp 65535"

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-07-25 13:58:23 -03:00
David Lamparter
533450e4b9 Merge pull request #837 from qlyoung/fix-eigrp-routemap-cli
eigrpd, vtysh: add dummy route-map cli
2017-07-25 16:15:54 +02:00
David Lamparter
9d303b37d7 Revert "*: reindent pt. 2"
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>
2017-07-22 14:52:33 +02:00
Quentin Young
a72730d34a
eigrpd, vtysh: add dummy route-map cli
eigrpd will successfully accept `(conf)# route-map foo ...` because it
is not sent to eigrpd from vtysh, but of course, this is the classic
node sync syndrome.

Since eigrpd apparently doesn't support proper routemaps yet just add
the cli so we can suppress the vtysh errors.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-20 12:51:57 -04:00
whitespace / reindent
c14777c6bf
*: reindent pt. 2
w/ clang 5

* reflow comments
* struct members go 1 per line
* binpack algo was adjusted
2017-07-17 15:26:02 -04:00
Quentin Young
2b2f79ae69
eigrpd: remove last vty_outln
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-17 11:18:56 -04:00
whitespace / reindent
d62a17aede *: reindent
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'`

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-17 14:04:07 +02:00
Jafar Al-Gharaibeh
13c2f50cd5 Merge pull request #818 from donaldsharp/eigrp_afi
Eigrp afi
2017-07-14 12:55:28 -05:00
David Lamparter
2d8270596a Merge remote-tracking branch 'frr/master' into newline-redux
Lots of conflicts from CMD_WARNING_CONFIG_FAILED...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 13:07:30 +02:00
David Lamparter
625e016d14 *: remove VTYNL, part 6 of 6
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 10:20:03 +02:00
David Lamparter
55f70b671f *: remove VTYNL, part 4 of 6
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 10:20:03 +02:00
David Lamparter
61b7d449bd *: remove VTYNL, part 3 of 6
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 10:20:03 +02:00
David Lamparter
181039f3d7 *: ditch vty_outln(), part 2 of 2
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 10:19:58 +02:00
Donald Sharp
07ccdc88ad eigrpd: Fix up some redistribution issues
Get EIGRP to start attempting to redistribute routes
as well as to display the fact it thinks it is redistributed.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-13 18:58:31 -04:00
Donald Sharp
9e9012d7c1 eigrpd: Let eigrp setup it's router-id in some situations
If the router-id is passed up to eigrp before we have
started the instance, allow it to set it up properly
as we start the instance.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-13 18:45:20 -04:00
Donald Sharp
d286e5f565 eigrpd: Fixed wrong type used
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>
2017-07-13 18:12:07 -04:00
Daniel Walton
f1a05de982 vtysh: return non-zero for configuration failures
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>

This allows frr-reload.py (or anything else that scripts via vtysh)
to know if the vtysh command worked or hit an error.
2017-07-13 19:56:08 +00:00
David Lamparter
5c7571d43f *: ditch vty_outln(), part 1 of 2
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-13 20:29:22 +02:00
Donald Sharp
edaf6c016f eigrpd: Fix zclient cleanup on shutdown
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-06-30 10:30:34 -04:00
Quentin Young
1318e7c841 *: s/VTY_NEWLINE/VTYNL/g
Should be able to fit more vty_out onto one line now

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:34:54 +00:00
Quentin Young
96ade3ed77 *: use vty_outln
Saves 400 lines

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:31:28 +00:00
Jafar Al-Gharaibeh
0eef52fd95 Merge pull request #759 from qlyoung/remove-vty-argparsers
*: remove VTY_GET_*
2017-06-29 09:36:06 -05:00