summaryrefslogtreecommitdiff
path: root/ldpd/ldp_zebra.c
AgeCommit message (Collapse)Author
2017-06-16ldpd: update copyright informationRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-15*: make consistent & update GPLv2 file headersDavid Lamparter
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>
2017-05-02Merge remote-tracking branch 'origin/stable/3.0'Donald Sharp
2017-05-01Merge pull request #431 from opensourcerouting/fix-iface-renamesDonald Sharp
Fix interface renames
2017-05-01ldpd: respect link-detect configurationRenato Westphal
We shouldn't check the operational status of an interface in ldpd if it's configured with "no link-detect" in zebra. That's what all the other routing daemons do. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-01ldpd: fixes to handle interface renames properlyRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-04-26ldpd: improve ldp_zebra_read_route()Renato Westphal
Log deleted routes and simplify the code a bit. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-03-31ldpd: fix configuration of non-existing VPLS interfaces and pseudowiresRenato Westphal
If we don't know the ifindex, flags, etc of an interface at the time it's configured, we should make sure that once this information is available the appropriate structures are updated. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-03-03ldpd: send VPLS MAC withdrawalsRenato Westphal
RFC 4762 says that MAC address withdrawal messages can be used to improve convergence time in VPLS networks. This patch makes ldpd send MAC withdrawals whenever a non-pseudowire interface pertaining to a VPLS goes down. The processing of received MAC withdrawals will be implemented later. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-02-06ldpd: update local labels when necessaryRenato Westphal
ldpd allocates null labels for directly connected routes. If a connected route is removed (interface goes down) and an IGP learned route takes its place in the RIB, ldpd must update the local label of the associated FEC entry with a non-null label. The same applies for the other way around (an interface goes up and a connected route is selected in favour of an IGP route). Labels should be dynamic and change when necessary. Additionally, this patch fixes the processing of route delete messages from zebra. Route delete messages don't contain any nexthop, meaning that whenever we receive such messages we must delete all nexthop previously received. Based on a patch from Bingen Eguzkitza <bingen@voltanet.io>. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-02-01ldpd: release all memory explicitly on exitRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-01-30*: read and ignore srcdest routes on ZAPIChristian Franke
Since zebra might be sending srcdest routes down to the various daemons, they need to understand the presence of the field at the very least. Sadly, that's also the best we can do at this point since none of the protocols has support for handling srcdest routes. The only consistent thing to do is to ignore them throughout. If an administrator wants to have the srcdest route as non-srcdest in a protocol, setting a non-srcdest static route (possibly blackhole) is probably the best way to go. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-12-14zebra/ldpd: allow MPLS ECMP on unnumbered interfacesRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org> (cherry picked from commit 7144dc12b55e05c9ae3d784dfb75817c9f881eb6)
2016-10-18zebra/ldpd: introduce ZEBRA_ROUTE_ALL wildcard route typeRenato Westphal
The ZEBRA_ROUTE_ALL route type can be used by a client to request all routes from zebra. The main motivation for introducing this is to allow ldpd to get routes from all OSPF instances, not only from the default one. Without ZEBRA_ROUTE_ALL, ldpd would need to send a ZEBRA_REDISTRIBUTE_ADD message for each possible OSPF instance (65k), which doesn't scale very well. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-28ldpd: fix processing of redistributed routesRenato Westphal
Commit 5048fe changed the way zebra behave when a route is updated. Now, whenever a route is changed, zebra advertises its new version without withdrawing the old one. This patch adapts ldpd to understand this new behavior. After processing a ZEBRA_REDISTRIBUTE_IPV[46]_ADD message, we need to check for nexthops that were removed and, for each of them (if any), withdraw the associated labels from zebra. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-28ldpd: make route flags a 32bit fieldRenato Westphal
This is a followup to commit 0fc452dc5, which updated all daemons except ldpd. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-23*: remove dead codeRenato Westphal
Since recently zebra uses only the ZEBRA_REDISTRIBUTE_* messages to advertise redistributed routes to its clientes. Now the old ZEBRA_IPV*_ROUTE_* messages are only used for client->zebra communication. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-23mpls: add support for LDP LSPsRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-23ldpd: adapt the code for QuaggaRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>