Commit Graph

7663 Commits

Author SHA1 Message Date
Don Slice
f51bae9cf9 bgpd: labeled unicast config
Implement support for activating the labeled-unicast address family in
BGP and relevant configuration for this address family.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:30:03 -04:00
Don Slice
e05fd627fb quagga: labeled unicast definitions
Internal and IANA definitions for labeled-unicast SAFI. Note that this SAFI
is specific to BGP and maps to the corresponding unicast SAFI in Zebra.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:29:19 -04:00
Don Slice
a64448baa6 zebra: labeled unicast handling
Support install of labeled-unicast routes by a client. This would be
BGP, in order to install routes corresponding to AFI/SAFI 1/4 (IPv4)
or 2/4 (IPv6). Convert labeled-unicast routes into label forwarding
entries (i.e., transit LSPs) when there is a static label binding.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:29:19 -04:00
Don Slice
cceb79ac9b bgpd: update debugs enance
Add information about AFI/SAFI to updates - received and sent.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:29:19 -04:00
Don Slice
5aba114af4 zebra: fec register
Implement interface that allows a client to register a FEC for obtaining
a label binding (in-label). Update client whenever the label binding is
updated and cleanup when client goes away.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:29:19 -04:00
Don Slice
f31e084c7c zebra: static label binding
Implement static label binding of a label to a prefix (FEC).

Note: Currently, only binding to a prefix is supported, the nexthop and/or
other parameters are not considered.  This was cherry-picked by hand from
an earlier mpls branch.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:28:16 -04:00
Donald Sharp
4952d0f0b0 *: Switchover to 3.1-dev
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 23:25:03 -04:00
Donald Sharp
fa35a883c1 *: Switchover to 3.0
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 23:20:26 -04:00
Donald Sharp
856377cc39 lib: Fix missing help strings
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 23:20:26 -04:00
Donald Sharp
c18f84f6ad eigrpd: Fix 'router eigrp..' to be DEFUN_NOSH
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 22:58:21 -04:00
Donald Sharp
ca975a87e0 eigrpd: Cleanup the merge
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 21:01:31 -04:00
Donald Sharp
97133f7915 Merge remote-tracking branch 'origin/master' into EIGRP 2017-04-05 20:52:32 -04:00
Donald Sharp
2118601d5c eigrpd: Fix add and delete of routes into the rib
Use the eigrp_topology_successors to give us the
list of successors we want to install.

Modify route add to send all the nexthops

Modify route delete to just delete the route

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 20:35:50 -04:00
Donald Sharp
f6709c169b eigrpd: Fix massive memory leak
Each call into eigrp_topology_get_successors would leak the list
created.  As routes worked their way through the FSM we would
leak memory left and right.

Modify the eigrp_topology_get_successor to return NULL when
there are no SUCCESORS.

Clean up some dead code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 20:07:46 -04:00
Donald Sharp
87805f883a eigrpd: Convert FSM states to an enum
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 19:30:51 -04:00
Donald Sharp
7aeab9b53a eigrpd: Cleanup long line
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 19:26:57 -04:00
Donald Sharp
9f56205cc5 eigrpd: Cleanup Bit Field handling
Cleanup the Bit field handling for whether or
not entries are installed or not.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 19:24:56 -04:00
Donald Sharp
e6ddb8e28b cumulus, tools: Fix up startup
Allow EIGRP to work within the startup scripts

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 19:24:15 -04:00
David Lamparter
606eb3ad7c Merge pull request #337 from donaldsharp/more_spt_more
More spt more
2017-04-05 22:32:46 +02:00
David Lamparter
bc7268d524 Merge pull request #336 from dwalton76/bgpd-allowas-in-removal
bgpd: removing "allowas-in" for peer-group member still allows AS_PATHS
2017-04-05 22:30:11 +02:00
David Lamparter
cfb38409e3 Merge pull request #333 from donaldsharp/frr
Frr
2017-04-05 22:29:39 +02:00
Donald Sharp
096398104b Merge branch 'master' into pim_5549 2017-04-05 12:49:17 -04:00
Donald Sharp
6492ed5369 Merge pull request #310 from opensourcerouting/thread-prep
MT preparations
2017-04-05 12:39:25 -04:00
Donald Sharp
a7b2b1e298 pimd: Add the ability to never SPT switchover
Add the ability to allow pim to determine if we should
allow spt-switchover or not on the LHR.

Signed-off-by: Donald Sharp
2017-04-05 12:38:12 -04:00
Donald Sharp
2830b01863 pimd: Fix crash when failure to create upstream
When we have a *,G mroute that starts receiving any particular
S,G, we will get wholepkt callbacks due to the pimreg in the
OIL for the *,G.

So we need to do SPT switchover, but this can fail if we
do not have a path to the S( but we do to the RP!).

In this case fail gracefully.

Ticket: CM-15621
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 12:38:12 -04:00
Donald Sharp
850a9f99b8 pimd: Allow SPT switchover
This allows SPT switchover for S,G upon receipt of packets
on the LHR.

1) When we create a *,G from a IGMP Group Report, install
the *,G route with the pimreg device on the OIL.

2) When a packet hits the LHR that matches the *,G, we will
get a WHOLEPKT callback from the kernel and if we cannot
find the S,G, that means we have matched it on the LHR via
the *,G mroute.  Create the S,G start the KAT and run
inherited_olist.

3) When the S,G times out, safely remove the S,G via
the KAT expiry

4) When the *,G is removed, remove any S,G associated
with it via the LHR flag.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 12:38:12 -04:00
Donald Sharp
0e374d906d pimd: Add # of ifchannels to 'show ip pim int'
Add the ability to see the number of ifchannels
associated with a particular interface.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 12:38:12 -04:00
Daniel Walton
9c41e88cc3 bgpd: removing "allowas-in" for peer-group member still allows AS_PATHS
with our ASN

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>
2017-04-05 15:19:00 +00:00
Donald Sharp
5392d3269b Merge pull request #334 from pichuang/typo
Remove superfluous path and correct groupname
2017-04-05 06:08:28 -04:00
Phil Huang
e879fd94d9 Remove superfluous path and correct groupname
Signed-off-by: Phil Huang <phil_huang@edge-core.com>
2017-04-05 16:06:03 +08:00
Donald Sharp
fab7c72601 doc: Cleanup 'Build the Software'
The frrouting.org web page:
https://frrouting.org/manual/Build-the-Software.html#Build-the-Software
is built from doc/install.texi.  The output on this page is a bit
missleading, let's clean it up some.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-04 20:36:16 -04:00
Donald Sharp
5288483719 *: Clean up some wrong references
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-04 20:18:24 -04:00
Donald Sharp
b5024aa7ab Merge pull request #332 from opensourcerouting/snmp-fix
fix SNMP build
2017-04-04 16:39:56 -04:00
David Lamparter
0723dc8c5e Merge pull request #331 from dwalton76/quagga-reload
tools: quagga-reload.py fails to change max-paths
2017-04-04 21:47:01 +02:00
David Lamparter
ffc37fa151 Merge pull request #330 from dwalton76/ospf-no-log-adjacency-changes-detail
ospfd: "no log-adjacency-changes detail" disables log-adjacency-changes
2017-04-04 21:45:14 +02:00
David Lamparter
cbd2fb53b0 Merge pull request #329 from dwalton76/debug-zebra-nht
zebra: "debug zebra nht" is not in the config
2017-04-04 21:44:28 +02:00
Donald Sharp
be0f843102 vtysh: Fix build for non-snmp case
The snmp code is being included in the build of the vtysh_cmd.c
irrelevant of whether or not it is needed.  Be a bit smarter
about what files to include.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-04-04 21:28:14 +02:00
David Lamparter
a263892613 build: fix CFLAGS for snmp modules
The SNMP modules include <net-snmp/net-snmp-config.h>, which won't be
found in off-searchpath directories without SNMP_CFLAGS.  Unfortunately
in my tests the files were on the search path even without the flags.

(SNMP_LIBS is not needed because only libfrrsnmp calls into net-snmp
functions.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-04-04 21:25:19 +02:00
Daniel Walton
2ce26af100 tools: quagga-reload.py fails to change max-paths
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-04 18:51:32 +00:00
Daniel Walton
7994b01d26 ospfd: "no log-adjacency-changes detail" disables log-adjacency-changes
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-04 18:13:43 +00:00
Daniel Walton
ee43309596 zebra: "debug zebra nht" is not in the config
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-04 18:11:04 +00:00
David Lamparter
422f8d0ca9 Merge branch 'master' 2017-04-04 20:04:07 +02:00
David Lamparter
b394fc99bc build: remove wildcards from snapcraft/Makefile.am
automake does not support globs.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-04-04 19:01:51 +02:00
David Lamparter
3e7c8d040c Merge branch 'stable/2.0'
Fixed minor conflicts from "defaults" change on stable.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-04-04 19:01:47 +02:00
Donald Sharp
b3cfe637a6 Merge pull request #294 from opensourcerouting/modules
Loadable module support
2017-04-04 11:55:00 -04:00
David Lamparter
2a8e27afb8 vtysh: handle "show modules" like "show memory"
Preface with line identifying which daemon it applies to.
[Also fixes a missed "plugin" -> "module" replace.]

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-04-04 16:12:59 +02:00
David Lamparter
e5fd248c25 Merge pull request #322 from qlyoung/fix-distance-commands
ospfd, ospf6d: fix distance commands
2017-04-04 15:59:12 +02:00
David Lamparter
2e310ba9c3 Merge pull request #321 from donaldsharp/speed
Speedy McSpeederson
2017-04-04 15:58:11 +02:00
David Lamparter
3e11c00789 Merge pull request #314 from donaldsharp/scan-build
Scan build
2017-04-04 15:57:00 +02:00
Donald Sharp
c752099bee Merge pull request #324 from opensourcerouting/zebra-v4v6-typos
zebra: fix v4/v6 typos in some show commands
2017-04-04 09:55:58 -04:00