summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* *: fix styleQuentin Young2017-08-3025-476/+382
| | | | | | Fixes style nits introduced by recent pull requests. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* Merge pull request #1059 from opensourcerouting/oldbits-1Donald Sharp2017-08-3013-108/+248
|\ | | | | zebra: PtP address configuration support
| * Revert "doc: work around weird texinfo bug"David Lamparter2017-08-292-6/+3
| | | | | | | | | | | | | | | | This reverts commit 50ffbc124bca15b2ca09c1b8b2fd57de6c4d3da4. The workaround stopped working :( Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * doc: add "ip address LOCAL peer PEER/SUBNET"David Lamparter2017-08-291-0/+11
| | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: dont have vxlan as default iface typeDavid Lamparter2017-08-281-6/+6
| | | | | | | | | | | | ... make it so zero (unset) is "other" Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: kernel_socket: read extra attributesDavid Lamparter2017-08-282-0/+24
| | | | | | | | | | | | This is just to silence the "didn't read all data" warning. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: drop IPv6 "broadcast" and "peer" addr codeDavid Lamparter2017-08-286-63/+10
| | | | | | | | | | | | There is no such thing as an IPv6 "broadcast" or "peer" address. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: configure PtP address on ifaliasreq systemsDavid Lamparter2017-08-271-4/+38
| | | | | | | | | | | | | | | | | | support configuring a point-to-point address on systems using ioctl / struct ifaliasreq. error out when interface/address type mismatch. tested on FreeBSD 8.0-RELEASE. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: add '[no] ip address A.B.C.D peer A.B.C.D/M'David Lamparter2017-08-271-12/+81
| | | | | | | | | | | | | | introduce a new command to configure a Point-to-Point address on an interface. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: netlink backend support setting a P-t-P addressDavid Lamparter2017-08-271-3/+9
| | | | | | | | | | | | | | | | add a few bits to properly set a pointopoint address via netlink. the structures have all the neccessary support, just need to send the proper message bits to the kernel. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: fix interface deletion bug introduced by ptp address supportDavid Lamparter2017-08-271-5/+7
| | | | | | | | | | | | | | | | | | | | | | meh. forgot to even look at the interface deletion path. this doesn't really work well when looking for the local address in the subnet list which has the connected prefix in it... loop ensues. fix by using the connected prefix when looking at the list of connected prefixes. duh. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * zebra: add connected_check_ptp infrastructureDavid Lamparter2017-08-273-9/+59
| | | | | | | | | | | | | | | | | | | | add a connected_check_ptp function which does the same as connected_check, but takes an additional peer prefix argument. also fix related prefixlen mixup in PtP addresses (the local part of a PtP address always is /32, but previously the peer mask got copied.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | Merge pull request #1056 from opensourcerouting/oldbits-0Donald Sharp2017-08-2930-1359/+1516
|\ \ | | | | | | "pathspace" options, vtysh-suid-cleanups, "vty_frame()"
| * | doc: new frr-args(8) man page with general optionsDavid Lamparter2017-08-294-1/+251
| | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | bgpd: remove some deep nestingDavid Lamparter2017-08-293-924/+893
| | | | | | | | | | | | | | | | | | | | | Some of this was so egregiously stupid, I couldn't look at it without gouging my eyes out... Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | bgpd: get rid of afi_header_vty_out() & co.David Lamparter2017-08-299-313/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | afi_header_vty_out() is easily replaced with vty_frame(), which means we can drop a whole batch of "int *write" args as well as the entirety of bgp_config_write_family_header(). => AFI/SAFI config writing is now a lot simpler. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | *: remove empty "interface XYZ" config blocksDavid Lamparter2017-08-2910-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | lib: add vty_frame() to get rid of unneeded configDavid Lamparter2017-08-292-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | vty_frame() can be used to reduce the amount of output produced by "show running-config" and "write ...". It buffers output in struct vty->frame (1024 bytes) and outputs it when vty_out is called. If vty_out isn't called, it can be removed with vty_endframe() later. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | vtysh: add -N/--pathspace optionDavid Lamparter2017-08-281-4/+16
| | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | lib: add -N/--pathspace optionDavid Lamparter2017-08-282-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | This allows running the daemons inside of Linux network namespaces without messing with an additional mount/fs namespace (or a ton of options). Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | vtysh: simplify path handlingDavid Lamparter2017-08-283-82/+37
| | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | vtysh: cleanup SUID handlingDavid Lamparter2017-08-282-15/+66
| |/ | | | | | | | | | | | | | | | | Eliminate several more SUID problems (VTYSH_LOG, history file) and make the whole SUID approach more robust. Still possibly unsafe to use, but much better. [v2: wrap seteuid/setegid calls] Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | Merge pull request #1074 from opensourcerouting/ospf6-plist-segvDonald Sharp2017-08-291-2/+2
|\ \ | | | | | | ospf6d: fix prefix list name SEGV
| * | ospf6d: fix prefix list name SEGVDavid Lamparter2017-08-291-2/+2
| | | | | | | | | | | | | | | | | | | | | Oops, I tested this with prefix lists configured and failed to notice it blows up when nothing is set... Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | | Merge pull request #1073 from ↵Donald Sharp2017-08-291-12/+19
|\ \ \ | |/ / |/| | | | | | | | LabNConsulting/working/master/patch/fix-pr939-bgp-race Fix bgpd race
| * | bgp: add asserts to catch unsupported double enqueue of an RN on a ↵Lou Berger2017-08-291-0/+2
| | | | | | | | | | | | | | | | | | bgp_process_queue Signed-off-by: Lou Berger <lberger@labn.net>
| * | bgp: fix handling of bgp_process_queue to allow for RNs addedLou Berger2017-08-291-4/+6
| | | | | | | | | | | | | | | | | | during callback. Issue introduced in PR #939. Signed-off-by: Lou Berger <lberger@labn.net>
| * | bgp: refactor bgp_process_queue to be consistent and cleanup related event ↵Lou Berger2017-08-291-8/+11
| | | | | | | | | | | | | | | | | | queuing Signed-off-by: Lou Berger <lberger@labn.net>
* | | Merge pull request #998 from mkanjari/dev-masterDavid Lamparter2017-08-2932-517/+1682
|\ \ \ | | | | | | | | Dev master
| * \ \ Merge branch 'master' into dev-masterMitesh Kanjariya2017-08-29176-5675/+5997
| |\ \ \
| * | | | lib: new APIs for get/set system hostname/domainnameMitesh Kanjariya2017-08-2911-30/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Change hostname_get to cmd_hostname_get 2. Change domainname_get to cmd_domainname_get 3. New API to set domainname 3. Provide a CLI command to set domainname Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | Handle hostname/domainname properly for FreeBSDMitesh Kanjariya2017-08-262-18/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | Fix compilation errors for domainnameMitesh Kanjariya2017-08-261-0/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | lib: Fix make check failuresMitesh Kanjariya2017-08-261-0/+12
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | provide/use API to get hostname/domainnameMitesh Kanjariya2017-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set default hostname in frr to unix hostname. Provide APIs to get the hostname/domaninanme Use this APIs where needed Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | lib/bgpd: provide/use API to get hostname/domainnameMitesh Kanjariya2017-08-2513-80/+59
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | zebra: lookup link by ifindexMitesh Kanjariya2017-08-203-9/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Frr has an assumption that when interface A links to B, we already know about B. But that might be true always. It is probably purely depends on the configuration and how the interfaces are hashed in Kernel. FRR seems to sometimes get "A is linked to B" before it knows about B, in that case, the linkage between the data structure for A & B won't be proper. Ticket: CM-17679 Review: ccr-6628 Testing: Manual Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | zebra: Delete AUTO macs when neigh list is emptyMitesh Kanjariya2017-08-201-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ticket: CM-17660 Review: CCR-6624 Testing: Manual Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | fix coding styleMitesh Kanjariya2017-08-197-54/+54
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | Fix coding style.Mitesh Kanjariya2017-08-196-70/+73
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | bgpd: use macro HAVE_STRUCT_UTSNAME_DOMAINNAME to avoid compilation failuresMitesh Kanjariya2017-08-181-1/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | zebra: Revert the fix for zebra: Refresh remote neighbors when they go staleMitesh Kanjariya2017-08-181-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NUD_STALE flag is causing a build breakage, we might have to define it somewhere in frr. Reverting the fix for now untill we decide how to handle it correctly. Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | zebra: Fix MAC change handling for a neighborvivek2017-08-177-113/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the MAC changes for a local neighbor, ensure that the neighbor data structure as well as the link between the neighbor and MAC data structures is updated correctly. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com> Ticket: CM-17565 Reviewed By: CCR-6605 Testing Done: Manual, evpn-smoke
| * | | | bgpd: Register for label only the default instancevivek2017-08-171-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that the registration for the "in" label for a unicast prefix is done only in the default instance. The zebra label manager as well as other code in BGP only has support for assigning labels in the default instance. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com> Ticket: CM-17110 Reviewed By: CCR-6588 Testing Done: Manual tests, mpls
| * | | | bgpd: Cleanup NHT state when underlying VRF goes downvivek2017-08-173-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the underlying VRF is deleted, ensure that state for the next hops that BGP registers with zebra for tracking purposes is properly updated. Otherwise BGP will not re-register the next hop when the VRF is re-created, resulting in the next hop staying unresolved. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Don Slice <dslice@cumulusnetworks.com> Ticket: CM-17456 Reviewed By: CCR-6587 Testing Done: Manual, bgp-min, vrf
| * | | | zebra: Refresh remote neighbors when they go stalevivek2017-08-171-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we get an ageout notification from the kernel for EVPN-installed neighbors, ensure that they are readded. Otherwise, while entries in STALE state are usable, based on other kernel parameters they can get deleted and adding them back only at delete can have other undesirable performance consequences. Note: This is the current Linux kernel behavior (to ageout EVPN installed neighbors). Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com> Ticket: CM-15623, CM-17490 Reviewed By: CCR-6586 Testing Done: Manual, evpn-min
| * | | | zebra: Fix VxLAN interface add-del to bridgevivek2017-08-172-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that removal and addition of VxLAN interface from/to bridge is handled correctly. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
| * | | | zebra: Handle MACIP requests when in transient conditionsvivek2017-08-171-24/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When multiple events are happening, it is possible that remote MACIP or other requests may be received when an interface is down or removed from a bridge. Handle this correctly. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
| * | | | bgpd: Add advertsie-all-vni in show bgp neighborMitesh Kanjariya2017-08-173-50/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ticket: CM-17249 Review: CCR-6558 Testing: Manual Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| * | | | bgpd: display hostname capabilities as advertised and receivedMitesh Kanjariya2017-08-172-20/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ticket: CM-17250 Review: CCR-6567 Testing: Manual Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>