summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-08FRRouting Release 6.0frr-6.0Martin Winter
Major Changes since 5.0: - Staticd: New daemon responsible for management of static routes - ISISd: Implement dst-src routing as per draft-ietf-isis-ipv6-dst-src-routing - BFDd: new daemon for BFD (Bidrectional Forwarding Detection). Responsiblei for notifying link changes to make routing protocols converge faster. - various bug fixes Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-10-04Merge pull request #3131 from donaldsharp/early_6.0David Lamparter
lib: Include compiler.h as early as is possible in the build
2018-10-04lib: Include compiler.h as early as is possible in the buildDonald Sharp
The compiler.h header provides us with some useful macro's that we are using in the system. We do not know exactly where the CPP_NOTICE and CPP_WARN macros are used but they can move around. Place this header early in the build then. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-03Merge pull request #3123 from opensourcerouting/6.0-error-code-switchQuentin Young
[6.0] lib: add "log error-code" switch
2018-10-03lib: add "log error-code" switchDavid Lamparter
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-24Merge pull request #3078 from opensourcerouting/large_as_path_6Donald Sharp
bgpd: Fix for large AS paths which are split into segments (6.0 branch)
2018-09-24bgpd: Fix for large AS paths which are split into segmentsMartin Winter
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-09-21Merge pull request #3054 from donaldsharp/zebra_6.0Martin Winter
zebra: Send correct default vrf tableid for MROUTE stats
2018-09-20Merge pull request #3048 from donaldsharp/pim_6.0Martin Winter
pimd: Actually create vif's in non-integrated config
2018-09-20zebra: Send correct default vrf tableid for MROUTE statsDonald Sharp
So the linux kernel uses the RT_TABLE_MAIN for the table id used for ip routing. The multicast routing tables use RT_TABLE_DEFAULT. We changed the internal code of zebra_vrf a few months back to use RT_TABLE_MAIN as the tableid to use. This caused the pim sg stats to stop working because of the kernel bug where it uses a different table for ip routing and ip multicast. Put a bit of a special case in to do the right thing. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-18pimd: Actually create vif's in non-integrated configDonald Sharp
The startup of a non-integrated config was not properly allowing for startup to create the vif when we have not learned about the interface we are trying to configure at this point in time. Actually notice when we are trying to create a pimreg device or not to properly notice when to attempt to create the vif or not. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-11Merge pull request #3002 from donaldsharp/3001_6.0Martin Winter
Push 2993 into 6.0
2018-09-10bgpd: Honor origin change in bgp aggregatesDonald Sharp
When the origin changed we must honor and update the aggregate to the peer. This code adds a bit of code to the bgp_aggregate_info_same code to see if the origin has changed and to indicate that it has. Fixes: #2993 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-31static: Put vty_frame around vrf output in staticd.Donald Sharp
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-31staticd: Fix mixup in vrf translationsDonald Sharp
When we store the nexthop for ref-counting, keep track of the nexthop vrf_id as well. This will allow us to track the nexthop per vrf! Additionally when we get the callback from zebra about a nexthop update, iterate over all static routes to see if the nexthop we are getting a callback is one we are concerned about. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-31vtysh: Let staticd know about vrf sub-modeDonald Sharp
staticd was not transitioning into vrf sub-mode, this fixes it. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-28Merge pull request #2931 from donaldsharp/pim_zebra_crashDavid Lamparter
zebra: Fix crash in mroute debug
2018-08-28zebra: Fix crash in mroute debugDonald Sharp
There exists a possibility that the ifindex we are passed does not exist and as such we should check for it not resolving as part of the debug. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-28Merge pull request #2930 from donaldsharp/pim_debugDavid Lamparter
pimd: Add some more useful data to debug output
2018-08-28pimd: Add some more useful data to debug outputDonald Sharp
End user was seeing this debug but we are not giving the user enough information to debug this on his own. Add a tiny bit of extra information that could point the user to solving the problem for themselves. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-28Merge pull request #2918 from opensourcerouting/fix-watchfrr-sigchld-handlingDonald Sharp
watchfrr: fix global restart
2018-08-26Merge pull request #2898 from donaldsharp/vrf_bitmap_is_whackLou Berger
lib: Convert vrf bit-map to a hash.
2018-08-26Merge pull request #2920 from donaldsharp/bsd_warningsDavid Lamparter
Bsd warnings
2018-08-25zebra: No prototype and uninited variablesDonald Sharp
Add a header to cleanup no declaration and properly wrapper some variables to appropriate #ifdef. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-25lib: Cleanup uninted `top` variable in ferr.cDonald Sharp
The `top` variable could possibly be used without any initialization, remove the possibility. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-25isisd: Include header for function declarationDonald Sharp
isis_handle_pdu is called but not declared for usage by not including the appropriate header. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-25Merge pull request #2897 from donaldsharp/zebra_rnh_fixupRenato Westphal
zebra: When registering a nexthop, we do not always need to re-eval
2018-08-25Merge pull request #2895 from donaldsharp/netlink_encapRenato Westphal
zebra: Add support for static encap mpls labels
2018-08-25zebra: Add support for static encap mpls labelsStephen Worley
We were ignoring mpls labels encapped with static routes. Added support for single and multipath labels. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com> Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-25watchfrr: fix global restartChristian Franke
watchfrr needs to handle a SIGCHLD also when it calls a global restart command. Before this patch, it would lead to the following behavior: 15:44:28: zebra state -> down : unexpected read error: Connection reset by peer 15:44:33: Forked background command [pid 6392]: /usr/sbin/frr.init watchrestart all 15:44:53: Warning: restart all child process 6392 still running after 20 seconds, sending signal 15 15:44:53: waitpid returned status for an unknown child process 6392 15:44:53: background (unknown) process 6392 terminated due to signal 15 15:45:13: Warning: restart all child process 6392 still running after 40 seconds, sending signal 9 15:45:33: Warning: restart all child process 6392 still running after 60 seconds, sending signal 9 15:45:53: Warning: restart all child process 6392 still running after 80 seconds, sending signal 9 15:46:13: Warning: restart all child process 6392 still running after 100 seconds, sending signal 9 15:46:33: Warning: restart all child process 6392 still running after 120 seconds, sending signal 9 15:46:53: Warning: restart all child process 6392 still running after 140 seconds, sending signal 9 This is obviously incorrect and can be fixed by comparing the pid to the global restart object as well. Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-08-25staticd: refcount the nht add/removalDonald Sharp
When we add / remove a nexthop that we need to track, keep track of the number of times we have done this for each nexthop. Consequently keep track of the number of available nexthops, so that we can just install new routes when we get one that uses a pre-existing nexthop. Deletion of nexthops is done on refcount going to 0. Removal of routes is handled elsewhere for removal. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-25zebra: When registering a nexthop, we do not always need to re-evalDonald Sharp
The code prior to this change, was allowing clients to register for nexthop tracking. Then zebra would look up the rnh and send to that particular client any known data. Additionally zebra was blindly re-evaluating the rnh for every registration. This leads to interesting behavior in that all people registered for that nexthop will get callbacks even if nothing changes. Modify the code to know if we have evaluated the rnh or not and if so limit the re-evaluation to when absolutely necessary This is of particular importance to do because of nht callbacks for protocols cause those protocols to do not insignificant work and as more protocols are registering for nht callbacks we will cause more work than is necessary. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-25Merge pull request #2910 from opensourcerouting/doc-summerclean-20180825Donald Sharp
protocol vs. OS docs + SMUX leftovers
2018-08-25Merge pull request #2911 from opensourcerouting/remove-linux24-tcp-md5Donald Sharp
lib: remove Linux 2.4 TCP-MD5 support
2018-08-25lib: remove Linux 2.4 TCP-MD5 supportDavid Lamparter
Linux 2.6.0 was released in December of 2003... I'm pretty sure we don't need this Linux 2.4 support anymore. Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-25build: drop unused SMUX client OID MIBsDavid Lamparter
These MIB OIDs were only used to identify clients on the SMUX protocol. And even for that, they were essentially pointless. Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-24Merge pull request #2870 from AnuradhaKaruppiah/bgp-default-delRuss White
bgpd: unregister VNI learning from zebra on default instance delete
2018-08-24Merge pull request #2908 from chiragshah6/ospf_vrf_devRuss White
ospfd: interface speed change during intf add
2018-08-25doc/user: drop SMUX reference, rework introDavid Lamparter
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-25doc/user: add protocols vs. platform tableDavid Lamparter
A nicely-formatted colorful table of all our daemons and target OS'. Based off & intended to replace / extend https://github.com/FRRouting/frr/wiki/Features-and-Kernel-Support Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-24Merge pull request #2685 from ↵Quentin Young
netravnen/feature/bgpd/documen-use-of-additional-bgp-well-known-communities Document bgp well-known communities in PR2684
2018-08-24ospfd: interface speed change during intf addChirag Shah
The problem is seen where speed mismatch caused ECMP route not being reflected with correct number paths (NHs). During cold boot, some interface speed updated by zebra as part of one shot timer and triggers interface add to clients. In this case, ospf already have created interface (bond interface), but speed was not updated, trigger to do interface speed change as part of interface add, which will trigger all Router LSA to use updated speed into cost calculation. Ticket:CM-22170 Testing Done: Bring up CLOS config with Spine and leafs. Leaf have CLAG pair, with same VRR ip address. At spine one of the bond connecting to leaf node was having higher speed than the paired device, With this fix, at spine (DUT) bond interface speed is equal from all peer nodes. Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-08-24bgp: Add documentation for IANA well-known communitiesChristoffer
Coded as part of #2684 and most code written while participating at BornHack@2018. bgp_route.c: Changes regarding adding explanations for the IANA well-known communities added in #2684 Signed-off-by: Christoffer <netravnen@gmail.com>
2018-08-24doc: Add documentation for IANA well-known communitiesChristoffer
Coded as part of #2684 and most code written while participating at BornHack@2018. bgp.rst: Explain what the communities does and a summarized edition of the communities purpose. Signed-off-by: Christoffer <netravnen@gmail.com>
2018-08-24Merge pull request #2891 from opensourcerouting/logging-docsQuentin Young
doc/developer: logging guide
2018-08-24Merge pull request #2907 from donaldsharp/fix_confdateDavid Lamparter
bgpd: Fix CONFDATE to 2019 for a couple of items.
2018-08-24bgpd: Fix CONFDATE to 2019 for a couple of items.Donald Sharp
While perusing CONFDATE I noticed that we had a couple CONFDATE 201805, which we were not picking up( for other reasons and fixed in a different PR ). But upon investigation of these I noticed that the commits where in 201805, so these CONFDATES should be in 2019 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-24Merge pull request #2901 from donaldsharp/remove_zapi_deprecatedDavid Lamparter
Remove zapi deprecated
2018-08-24doc, lib, zebra: Remove deprecated encode and decode functionalityDonald Sharp
The ZEBRA_IPV4_ROUTE_[ADD|DELETE] and ZEBRA_IPV6_ROUTE_[ADD|DELETE] functionality has been deprecated for a year now, let's remove this code from the system. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-24zebra: Remove unmaintained and uncompilable codeDonald Sharp
The zebra/client_main.c code is not being maintained or used. Remove from system. Especially since the encode/decode zapi functionality it `purports` to be testing is deprecated and now being removed. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>