Go to file
Renato Westphal daca38aece ldpd: always advertise labels upon receiving a redistributed route
Whenever a routing daemon advertises a new version of a route to zebra,
zebra removes the old version of this route (implicit withdraw) and then
create a new 'rib' structure for the new version of the route.

In this process, the previously received label(s) from ldpd are lost. This
is because upon receiving a ZEBRA_MPLS_LABELS_ADD message, zebra only
adds a label to a nexthop of an existing route. And routes are volatile,
they can be removed while being updated.

To workaround this issue, this patch makes ldpd always advertise the
appropriate labels whenever it receives a redistributed route, even
if it was already received before (an older version). This way, when
ldpd receives the updated version of a route, it will readvertise the
appropriate label(s) and zebra will reinstall them.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-28 16:05:42 -04:00
bgpd use JSON_C_TO_STRING_PRETTY for json_object_to_json_string 2016-09-28 04:52:36 +00:00
cumulus Merge remote-tracking branch 'origin/cmaster' into cmaster-next 2016-08-17 20:52:04 -04:00
debian Fix changelog to add maintainer info, build fails without it 2016-08-04 09:08:37 -07:00
doc doc: add blurb on use of protobuf with FPM 2016-09-23 12:12:17 -04:00
fpm Use only the ISC license for .proto files. 2016-09-23 12:12:16 -04:00
gdb gdb: Add a directory of files with gdb macros 2016-05-26 15:33:30 +00:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd Make route flags a 32bit field 2016-09-23 12:12:43 -04:00
ldpd ldpd: always advertise labels upon receiving a redistributed route 2016-09-28 16:05:42 -04:00
lib lib: fix vrf_bitmap leak in zclient_free() 2016-09-28 15:41:06 -04:00
m4 build: fix "pragma weak" mixups 2013-02-09 03:00:12 +01:00
ospf6d Make route flags a 32bit field 2016-09-23 12:12:43 -04:00
ospfclient lib: migrate to new memory-type handling 2016-09-19 18:35:50 +02:00
ospfd use JSON_C_TO_STRING_PRETTY for json_object_to_json_string 2016-09-28 04:52:36 +00:00
pimd Make route flags a 32bit field 2016-09-23 12:12:43 -04:00
pkgsrc build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
qpb fpm/protobuf: fix compile errors & warnings 2016-09-23 12:12:17 -04:00
redhat distro/redhat: add mpls and ldpd 2016-09-23 09:31:17 -04:00
ripd lib: Make distribute.c accepts both v4 and v6. 2016-09-26 10:52:41 -04:00
ripngd lib: Make distribute.c accepts both v4 and v6. 2016-09-26 10:52:41 -04:00
solaris solaris: fix SMF manifest dependency model and start method 2016-05-26 15:25:13 +00:00
tests *: split & distribute memtypes and stop (re|ab)using lib/ MTYPEs 2016-09-19 16:31:04 -04:00
tools tools: quagga-reload should raise Exception instead of exiting 2016-09-27 15:56:36 +00:00
vtysh vtysh: make extract.pl more whitespace-robust 2016-09-23 12:12:16 -04:00
watchquagga Fix for CM-12450 Ensure quagga logs at startup are sent to syslog (until log configuration is processed) 2016-08-17 19:36:54 -07:00
zebra ldpd: always advertise labels upon receiving a redistributed route 2016-09-28 16:05:42 -04:00
.gitignore qpb: Add support for protobuf. 2016-09-23 12:12:16 -04:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
buildtest.sh build: remove --disable-ipv6 2016-06-03 15:51:36 -04:00
ChangeLog [trivia] Make 'make dist' happy about ChangeLog expunge 2008-08-23 08:36:42 +01:00
common.am qpb: Add support for protobuf. 2016-09-23 12:12:16 -04:00
configure.ac zebra: add missing files to EXTRA_DIST 2016-09-26 11:41:50 -04:00
COPYING *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
COPYING.LIB *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
HACKING.md HACKING: Change format to MarkDown 2016-05-26 15:33:32 +00:00
HACKING.pending HACKING.pending: Add Quagga-RE details 2012-03-02 11:56:38 +00:00
INSTALL.quagga.txt build: goodbye, gawk 2016-09-19 16:31:08 -04:00
Makefile.am fpm: Add protobuf support for FPM. 2016-09-23 12:12:16 -04:00
NEWS release: 0.99.24 2016-06-03 15:56:44 -04:00
README 2004-11-12 Paul Jakma <paul@dishone.st> 2004-11-12 10:30:21 +00:00
README.NetBSD Omit --opaque-lsa from build (now default). 2011-06-28 15:05:05 -04:00
REPORTING-BUGS Update for git and emphasize asking for good reports. 2010-05-05 07:51:26 -04:00
SERVICES pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
TODO doc: update TODO for ospf6d work & bgp multipath 2013-04-16 11:56:11 +02:00
update-autotools * README.NetBSD: use update-autotools instead of autoreconf 2007-02-02 16:52:38 +00:00

Quagga is free software that manages various IPv4 and IPv6 routing
protocols.

Currently Quagga supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1,
RIPv2, and RIPng as well as very early support for IS-IS.
  
See the file INSTALL.quagga.txt for building and installation instructions.
  
See the file REPORTING-BUGS to report bugs.
  
Quagga is free software. See the file COPYING for copying conditions.