AuthorCommitMessageCommit date
Jorge Boncompte [DTI2]David LamparterJorge Boncompte [DTI2]
0c5ed3ed00fbgpd: Fix memory leak with 'set ip next-hop peer-address'A route-map with the mentioned statement causes a memory leak for every prefix that matches. Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net> Signed-off-by: David Lamparter <equinox@diac24.net>
Jorge Boncompte [DTI2]David LamparterJorge Boncompte [DTI2]
4fe080d7ee4bgpd: fix for route-maps with "match peer local" statementsA route-map with a 'match peer local' statement it's shown like 'match peer (null)' on config output... ... and it's unparsable on daemon startup. Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net> Signed-off-by: David Lamparter <equinox@diac24.net>
Jorge Boncompte [DTI2]David LamparterJorge Boncompte [DTI2]
ddc943dec3cbgpd, zebra: Fix format for some metric outputsMetrics are unsigned values. * bgpd/bgp_{debug,route,vty}.c, * zebra/zebra_vty.c: replace %d with %u for metrics & distances Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net> [reworded commit message] Signed-off-by: David Lamparter <equinox@diac24.net>
Paul JakmaPaul Jakma
8794e8d229dbgpd: Fix regression in args consolidation, total should be inited from args* bgp_attr.c: (bgp_attr_unknown) total should be initialised from the args.
Paul JakmaPaul Jakma
7621f336e2fbgpd: Make socket init separate, so unit tests work again.* Separate out BGP socket initialisation from bgp_get, and make it an explicit function. Allows unit tests to work again and probably also benefits dry-run. * bgpd.c: (bgp_get) move socket init out... (bgp_socket_init) to here * bgp_main.c: and call it after dry-run. * bgpd.h: (bgp_socket_init) add prototype
Paul JakmaPaul Jakma
1dba254e107tests: Fix some compile errors and warnings* aspath_test.c: match changes in aspath_unintern. Fix printf size_t warning. * bgp_capability_test.c: compile warnings. * bgp_mp_attr_test.c: update for attr parser context struct * ecommunity_test.c: ecommunity_free/ecommunity * test-checksum.c: some unused vars and funcs without need of prototypes.
Paul JakmaPaul Jakma
6ebeebb5061Revert "tests: disable broken tests/bgp_mp_attr_test.c"This reverts commit d78e2b8b562f8496aaf2977f7371415b71e82433. Next 2 commits fix it.
David LamparterDavid Lamparter
828f235df4brelease: 0.99.21
David LamparterDavid Lamparter
d78e2b8b562tests: disable broken tests/bgp_mp_attr_test.cit doesn't compile currently; it'll be fixed after the 0.99.21 release. * tests/bgp_mp_attr_test.c: wrap in #if 0 for now Signed-off-by: David Lamparter <equinox@diac24.net>
David WardDavid LamparterDavid Ward
4b5a2103b7dredhat: add systemd service files * redhat/*.service: add systemd service file for each routing daemon * redhat/quagga.sysconfig: add comment about watchquagga and systemd * redhat/Makefile.am: add systemd service files to distribution Signed-off-by: David Ward <david.ward@ll.mit.edu> Signed-off-by: David Lamparter <equinox@diac24.net>
David WardDavid LamparterDavid Ward
a41242bed82redhat: update initscriptsTaken from Fedora packaging with additional fixes. * redhat/*.init: make all initscripts LSB-compliant; store the daemon configuration file location in $CONF_FILE, and perform existence testing before starting the daemon * redhat/babeld.init: add initscript for Babel routing engine * redhat/quagga.sysconfig: add command-line options for babeld; remove the daemon configuration...
David WardDavid LamparterDavid Ward
0bd268a5232redhat: add logrotate configuration for babeld and isisdSigned-off-by: David Ward <david.ward@ll.mit.edu> Signed-off-by: David Lamparter <equinox@diac24.net>
David WardDavid LamparterDavid Ward
7b0df9c5baddoc: add ospfclient(8) and watchquagga(8) man pagesTaken from Fedora packaging. Signed-off-by: David Ward <david.ward@ll.mit.edu> Signed-off-by: David Lamparter <equinox@diac24.net>
David WardDavid LamparterDavid Ward
f027d331fc2doc: only package man pages for daemons that are builtSigned-off-by: David Ward <david.ward@ll.mit.edu> Signed-off-by: David Lamparter <equinox@diac24.net>
David WardDavid LamparterDavid Ward
2e14a748061tools: use standard interpreter path in all Perl scriptsSigned-off-by: David Ward <david.ward@ll.mit.edu> [changed /usr/bin/perl to /usr/bin/env perl] Signed-off-by: David Lamparter <equinox@diac24.net>
David LamparterDavid Lamparter
fac3c2453a0bgpd: fix up multipath merge breakagethe BGP multipath code was developed against a pre-f6f434b Quagga where bgp_attr_unintern and ecommunity_free took single-star pointers. They now take double-star pointers. * bgpd/bgp_mpath.c: fix up bgp_attr_unintern & ecommunity_free calls. Signed-off-by: David Lamparter <equinox@diac24.net>
Juliusz ChroboczekDavid LamparterJuliusz Chroboczek
27f689793a2babeld: merge kernel_zebra.c into kernel.c.In upstream babel, we include different kernel_foo files depending on the platform we compile for. In Quagga, this is not needed, and it avoids tricky autotools issues. (All autotools issues are tricky.) [David: without this commit, build breaks.] From: Juliusz Chroboczek <jch@pps.jussieu.fr> Signed-off-by: David Lamparter <equinox@diac24.net>
Denis OvsienkoDavid LamparterDenis Ovsienko
61a81bea6d2babeld: Include babel_main.h in noinst_HEADERS.babeld wouldn't build in a dist tarball without this. From: Denis Ovsienko <infrastation@yandex.ru> Signed-off-by: Juliusz Chroboczek <jch@pps.jussieu.fr> [fixed up git message] Signed-off-by: David Lamparter <equinox@diac24.net>
David LamparterDavid Lamparter
8d79efddb9clib: bump ZSERV_VERSION to 2continually changing the zserv protocol without bumping up the version number has made it impossible to talk to zebra without knowing the exact version. in reality, increasing the version number more often guards against inadvertedly running incompatible versions of a daemon and zebra as well as aids external development. * lib/zclient.h: #define ZSERV_VERSION 2 Signed-off-by: David Lampar...
David LamparterDavid Lamparter
9665856e371Revert "zebra: clean up client routes when client goes away"This reverts commit af56d404cd56d94ad3b2ec3f159650eb72baef0a, which was accidentally duplicating functionality from commit 2ea1ab1 "zebra: ZEBRA_HELLO and mopping up routes (BZ#448)" Conflicts: zebra/zebra_rib.c Signed-off-by: David Lamparter <equinox@diac24.net>
Jorge Boncompte [DTI2]David LamparterJorge Boncompte [DTI2]
fa4094ac49bbgpd: Fix crash when disabling dampening (BZ#687) Vladimir Podobaev reported that the following commands crashed the daemon. router bgp 123 bgp dampening no bgp dampening 1 2 3 4 no bgp dampening The problem was that bgp_damp_info_clean() tried to dereference the already freed reuse_list array in the second call to "no bgp dampening". Fixed by checking in bgp_damp_disable() that the dampening it's enabled before doing the cle...
Jorge Boncompte [DTI2]David LamparterJorge Boncompte [DTI2]
7939e016b3dospfd: Fixes a crash of the daemon with a snmp walk - And allows to walk the LSDB. Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
JR RiversDavid LamparterJR Rivers
3cadc0cdebbzebra: use larger buffer (4096) for netlink messagesIncrease the maximum number of nexthops per route by using a larger buffer for netlink messages. * zebra/rt_netlink.c: Use a buffer of 4096 bytes to parse/build netlink messages. Add a hash define for this number (NL_PKT_BUF_SIZE). Most places in the code were previously using a buffer of 1024 bytes.
David LamparterDavid Lamparter
d75318cc8deMisisd: merge osr/google-is-isthis is essentially half of a rewrite of isisd. please note that a lot of things are still broken and isisd is not ready for production use.
Vyacheslav TrushkinDavid LamparterVyacheslav Trushkin
48d8bea8b7cquagga: option "-z" ("--socket <path>") addedAll daemons modified to support custom path to zserv socket. [reapplied from b511468 after isisd merge]
Vyacheslav TrushkinDavid LamparterVyacheslav Trushkin
1627b20fd4fisisd: indent longopts array
David LamparterDavid Lamparter
086695cb8eeisisd: reapply removal of CVS cruftthis re-removes CVS keywords and .cvsignore files. original commits: b82cdeb delete CVS keywords 05e54ee build: delete .cvsignore files
David LamparterDavid Lamparter
6e493a44836Mbgpd: merge osr/quagga-osr-patches (BZ#700)this merges a bgp capability negotiation fix where bgpd would fail if no multiprotocol capability was present, but other capabilities were.
David LamparterDavid Lamparter
9bb5870e26aMbgpd: merge osr/google-bgp-multipaththis patchset allows collapsing multiple received routes in BGP into one multipath route that will, if readvertised, contain an aggregate of all received attributes.
Avneesh SachdevAvneesh Sachdev
aa3b2642826isisd: reapply patch to fix zebra protocolReapply the bits of revision b4e45f6 that pertain to isisd. That is: git log -n 1 -p b4e45f6 -- isisd These were dropped in the merge with the Google ISIS code (14d2bbaa). The commit message for b4e45f6 is: fix zebra protocol after MP-BGP changes The previous commits modified both zebra and bgpd for additional SAFI field, but not any other routing daemon, which led to zebra ...
Avneesh SachdevAvneesh Sachdev
14d2bbaa3f4MMerge quagga mainline into the google ISIS code.The steps were: $ git checkout google-is-is $ git merge quagga $ git checkout google-is-is -- isisd # Resolve conflicts in the following: lib/md5.h zebra/rt_netlink.c zebra/zebra_rib.c zebra/zserv.c Note that the content in the isisd directory is left unchanged in the merge. As a result, changes made to isisd as part of the following commits on the quagga mainline are dropped...
Denis OvsienkoDavid LamparterDenis Ovsienko
a25a44dba84ospfd: adjust OSPF_ROUTER_LSA_MIN_SIZE for VL case
Avneesh SachdevAvneesh Sachdev
3cf6c2b4e43MMerge branch 'quagga' into google-bgp-multipathConflicts: bgpd/bgp_route.c
Avneesh SachdevAvneesh Sachdev
3b381c32fc2bgpd: fix issue in capability negotiation (BZ#700)Address problem where bgpd would reject a session if a peer sent some capabilities in its Open message, but did not include a Multiprotocol extensions capability. Note that the session would come up if there were no capabilities at all in the Open message. * Add the 'mp_capability' out parameter to bgp_capability_parse(). Set it to '1' if a Multiprotocol extensions capability is enco...
Josh BaileyAvneesh SachdevJosh Bailey
51d4ef832c1zebra: include hardware addr in if up/down messagesChange interface up/down notification messages to also include the hardware address of the interface. The format of these messages is now identical to the interface add message -- move the serialization code to common functions. * lib/zclient.c: Modify zebra_interface_if_set_value() to also parse the hardware address. Invoke it from zebra_interface_add_read() and and zebra_interface_...
Josh BaileyAvneesh SachdevJosh Bailey
2dd04c5dc8blib: Tweak to if_delete_retain() * lib/if.c: Change if_delete_retain() to delete all connected addresses, but to not free the list that holds them. Free the list just before the interface structure itself is freed, in if_delete().
Josh BaileyAvneesh SachdevJosh Bailey
af56d404cd5zebra: clean up client routes when client goes away * zebra/zebra_rib.c: Add code to clean up routes added by a client (as identfied by 'rib type'). * zebra/zserv.[ch]: Maintain the type of the routes added by a client on the 'zserv' structure -- assume that a given client uses a single route type for now. Clean up routes from a client when the client goes away (in zebra_client_close()). From: Josh Bailey <joshb@google...
Subbaiah VenkataAvneesh SachdevSubbaiah Venkata
fc328ac9d3dzebra: add more logs/asserts to rib work queue code * zebra/zebra_rib.c: (rib_queue_add, rib_queue_init) Add some more logs and asserts. From: Subbaiah Venkata <svenkata@google.com> Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org> Signed-off-by: David Lamparter <equinox@diac24.net>
Subbaiah VenkataAvneesh SachdevSubbaiah Venkata
e38e0df01adisisd: couple of bug fixes
Josh BaileyAvneesh SachdevJosh Bailey
3f045a08812isisd: add Google's changes to IS-IS
Subbaiah VenkataAvneesh SachdevSubbaiah Venkata
6902c69aa30zebra: tweak deletion of routes without nexthop addr * zebra/zserv.c - zread_ipv4_delete(): Pass a null 'gate' parameter to rib_delete_ipv4() if the route being deleted does not specify a next hop IP address. We were previously passing a pointer to a cleared out IP address. - zread_ipv4_add(): Fix indentation. From: Subbaiah Venkata <svenkata@google.com> Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>...
Josh BaileyAvneesh SachdevJosh Bailey
26e2ae362bazebra: read multipath routes and hw addr from netlink * zebra/rt_netlink.c: - Pick up the hardware address of an interface when we receive a netlink link change message. Extract code for parsing the link-layer hardware address into a new function so we can reuse it. - netlink_routing_table(): Update to handle multipath routes. - netlink_route_change(): Update to handle multipath routes. Fix problem where th...
Subbaiah VenkataAvneesh SachdevSubbaiah Venkata
d531050b7bflib: add stream_set_endp() * lib/stream.[ch]: - Add stream_set_endp(). This can be used to trim data (for example, padding) at the end of a stream. - Fix swapped 'getp' and 'endp' parameters in STREAM_WARN_OFFSETS. From: Subbaiah Venkata <svenkata@google.com> Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org> Signed-off-by: David Lamparter <equinox@diac24.net>
Josh BaileyAvneesh SachdevJosh Bailey
bed930fd707lib: add support for keyed-hashing with MD5 * lib/md5.[ch] Add implementation of HMAC-MD5 from RFC 2104. From: Josh Bailey <joshb@google.com> Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org> Signed-off-by: David Lamparter <equinox@diac24.net>
Josh BaileyAvneesh SachdevJosh Bailey
54dd6122735lib: Tweaks to linked list macros * lib/linklist.h - Change the listnextnode, listhead and listtail macros so that they allow the list pointer to be NULL. - Modify the ALL_LIST_ELEMENTS* macros such that they clear the data pointer at the beginning and end of the loop. From: Josh Bailey <joshb@google.com> Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org> Signed-off-by: David Lamparter <equi...
David LamparterDavid Lamparter
e96b312150dlib: pretty ip_masklen and masklen2ipnonwithstanding any desire for optimisation, these versions are shorter and more concise. reading the comments, they might even be easier to understand. I've tested them on i686 and x86_64, and checked that correct assembler code is emitted for ARM, MIPS and PowerPC. IPv6 is left as an exercise for another day, none of the ideas I had led to a "yes, this is the one to go with" solution. Sig...
David LamparterDavid Lamparter
a3537862f3cRevert "lib: optimize ip_masklen()" (BZ#720)This reverts commit d171bf58ef12ace43d48565e6870722dece1e6ed. There are multiple reasons for this revert, including bug #720, but also quite simply the unreadability of having 2000 lines of an autogenerated table in the middle of a source file. Signed-off-by: David Lamparter <equinox@diac24.net> Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Paul JakmaPaul Jakma
fa5831e85aebgpd: bgp_attr_flags_diagnose shouldn't assert* bgpd/bgp_attr.c: (bgp_attr_flags_diagnose) debug code for error-handling paths probably shouldn't assert, instead it should just log that there was no problem.
Paul JakmaPaul Jakma
fa61e16ddebbgpd: attr_parse call to attr_malformed should deal with PROCEED error case* bgpd/bgp_attr.c: (bgp_attr_parse) the invalid flag check call to bgp_attr_malformed is pretty useless if it doesn't actually allow for the PROCEED non-error case.
Paul JakmaPaul Jakma
683f2b86d89bgpd: Fix silly mistake in bgp_attr_flag_invalid* bgp_attr.c: (bgp_attr_flag_invalid) flags is meant to be masked off with the mask variable...

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut