summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-09-20pimd: Convert to the new way of workingDonald Sharp
2016-09-20zebra: Fixup to use the new parserDonald Sharp
2016-09-20lib: Fixup json code to use struct cmd_tokenDonald Sharp
2016-09-20lib: Fixup more filesDonald Sharp
2016-09-22Merge branch 'vtysh-grammar' of ↵Quentin Young
ssh://stash.cumulusnetworks.com:7999/quag/quagga into vtysh-grammar
2016-09-22lib: Remove NUMBER_TKN leftoversQuentin Young
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-21lib: Use listnode_add_before for prepending nodesQuentin Young
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-21lib: Update copyright headersQuentin Young
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-20lib: Fixup plist.cDonald Sharp
2016-09-20lib: Fixup ns.cDonald Sharp
2016-09-20lib: Fix vty.c to compile with new parserDonald Sharp
2016-09-20lib, zebra: Fixup if.c to work in the new regimeDonald Sharp
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-20lib: Get thread.c to compileDonald Sharp
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-20Merge remote-tracking branch 'origin/cmaster-next' into vtysh-grammarDonald Sharp
2016-09-21Merge branch 'cmaster-next' into vtysh-grammarQuentin Young
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> Conflicts: lib/.gitignore lib/command.c lib/command.h
2016-09-21bgpd: Additional Show CommandsLou Berger
These commands were ported forward from these commits: f9b6c39 bgpd: Add back old forms of 'show <afi> <safi>' for compatibility bf1ae6c bgpd: drop machineparse / random "show" improvements 651b402 bgpd: encap show commands 35c3686 bgpd: VPNv6 show commands 135ca15 bgpd: cleanup vty bgp_node_afi/safi utils This is the first drop of those commits. The files have changed too much and the diffs to extensive to try to do it in one piece. Break it up into smaller code chunks. Original Code: Signed-off-by: Lou Berger <lberger@labn.net> Forward Port: Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-21lib: Add #define str for JavaScript help stringDonald Sharp
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-20ospfd: Do not print warning on new interfaceDonald Sharp
The new TE functions will always print out a warning that TE has not been configured on an interface. This should be a debug not a warn. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-20bgpd: Revert --enable-bgp-standaloneDonald Sharp
Reverts the --enable-bgp-standalone and makes it so that you need to use --enable-cumulus to get the cumulus behavior. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-19lib: Initial refactor pass on CLI backendQuentin Young
Shotgun commit: * Remove shim sources from Makefile.am * Move new types to command.c / command.h * Rewrite command.c / command.h * Refactor shim types to real types in matcher and parser * Initial refactor pass on vty.c Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-19vtysh: work around gcc bug #69981David Lamparter
The memtypes changes break gcc -O0 build (none of the other optimisation levels are affected, *any* of -Og, -Os, -O1, etc. make this go away). Unfortunately, the option supposed to control this doesn't actually work (-fno-keep-static-const; that not working is the actual gcc bug). The workaround is to avoid DECLARE_MTYPE statements when their paired DEFINE_MTYPE isn't linked in. Thankfully, that's only a problem in a single place in vtysh where bgp_memory.h gets chain-included. (vtysh.c -> bgp_vty.h -> bgpd.h -> bgp_memory.h) So, this just breaks the chain at bgp_vty.h. No other compiler (clang & icc tested) has exhibited this problem. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-09-19lib: deregister memtypes on exit/unloadDavid Lamparter
This is useful for DSO modules in order to get support for unloading them dynamically. It also runs on exit, which doesn't matter much. At some future point, the code could be extended to check that allocation counts are 0 on unloading a module. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-09-19build: goodbye, gawkDavid Lamparter
Signed-off-by: David Lamparter <equinox@opensourcerouting.org> Acked-by: Vincent JARDIN <vincent.jardin@6wind.com> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-19lib: clean/restore memory debugging functionsDavid Lamparter
This adapts the dump-at-exit handler and removes the old leftover code. (Note the text in log_memtype_stderr was actually incorrect as the only caller in bgpd cleans up configuration before calling it, i.e. any remaining allocations are missing-cleanup bugs.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org> Acked-by: Vincent JARDIN <vincent.jardin@6wind.com> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-19*: split & distribute memtypes and stop (re|ab)using lib/ MTYPEsDavid Lamparter
This is a rather large mechanical commit that splits up the memory types defined in lib/memtypes.c and distributes them into *_memory.[ch] files in the individual daemons. The zebra change is slightly annoying because there is no nice place to put the #include "zebra_memory.h" statement. bgpd, ospf6d, isisd and some tests were reusing MTYPEs defined in the library for its own use. This is bad practice and would break when the memtype are made static. Acked-by: Vincent JARDIN <vincent.jardin@6wind.com> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com> [CF: rebased for cmaster-next] Signed-off-by: David Lamparter <equinox@opensourcerouting.org> Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2016-09-19lib: migrate to new memory-type handlingDavid Lamparter
Move over to the new allocation counting added in the previous commit. (This commit is mostly mechanical.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org> Acked-by: Vincent JARDIN <vincent.jardin@6wind.com>
2016-09-19lib: add new extensible memory-type handlingDavid Lamparter
This rewrites Quagga's memory per-type allocation counting, without using a fixed global list of types. Instead, source files can declare memory types which get handled through constructor functions called by the dynamic linker during startup. Acked-by: Vincent JARDIN <vincent.jardin@6wind.com> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com> [DL: v3: forgot "nonnull" attribute on XFREE] Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-09-19lib: move memory.[ch] out of the wayDavid Lamparter
The following commit will recreate memory.[ch]. Signed-off-by: David Lamparter <equinox@opensourcerouting.org> Acked-by: Vincent JARDIN <vincent.jardin@6wind.com> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-18lib: Allow nesting options in selectorsQuentin Young
Options may now be nested in selectors as long as they are not the first token in sequence. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-18lib: Add edge removal to graph data structureQuentin Young
Ability to remove directed edge between two nodes. Also ensures that adjacency vectors have no null entries. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-17isisd, lib, vtysh: Allow extract.pl to fully workDonald Sharp
The regular expression for finding DEFUN/ALIAS in extract.pl looks for "DEFUN (" or "ALIAS (" if the *.c file does not have this then it will just silently ignore the cli. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-17isisd, vtysh: Fix isis routemapsDonald Sharp
Apparently extract.pl requires in it's regular expression a space after the DEFUN or ALIAS before the opening ( or it completely skips the command. Brilliant? Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-16isisd: Remove duplicate "no debug isis lsp-gen"Donald Sharp
The code for 'no debug isis lsp-gen' is in isisd.c twice. No need for this. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-16lib, bgpd: Remove 'struct fifo' from lib/zebra.hDonald Sharp
The 'struct fifo' and it's accompanying #defines do not belong in lib/zebra.h. Move them into their own header. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> (cherry picked from commit b0d02889624eaafa0984873dcd78c086418bdf13)
2016-09-16lib: Remove ZEBRA_INTERFACE_RENAMEDonald Sharp
Api in name only. No code, so let's remove. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-16lib, ospfd: Remove ospf specific #define from zebra.hDonald Sharp
zebra.h should not know or care about ospf specific code Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-16zebra: Fix afi mistakeDonald Sharp
When sending the received route in to be added to the rib, actually use the correct Address family. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-16zebra: Refactor interface statistic callingDonald Sharp
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-14lib, zebra: Remove ZEBRA_IPV[4|6]_IMPORT_NEXTHOPDonald Sharp
Zebra api that was never used. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> (cherry picked from commit 33361d3992c8bff66247b76e5adaf4b0de8217df)
2016-09-14lib, zebra: Remove unused zserv/zclient callsDonald Sharp
ZEBRA_IPV4_NEXTHOP_LOOKUP and ZEBRA_IPV6_NEXTHOP_LOOKUP were never used by any protocol. Remove dead code Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> (cherry picked from commit 22cd6214bf44863bfb5a34b40ab4abba3c5c4574)
2016-09-14lib: Make zebra messages types a enumDonald Sharp
The #define nature of zebra message types makes it stupidly difficult to add /remove message types. Switch to enum Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> (cherry picked from commit 0d63e3c7df981f5b50f27789672f30987911a8cd)
2016-09-14lib: Add support for selectors inside optionsQuentin Young
Selectors may be nested inside options [<like|so>]. Removed the ability to make multipart options [like|so]. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-14zebra: Pass in vrf to rib_match_ipv4_multicastDonald Sharp
Pass around the vrf_id to rib_match_ipv4_multicast so that proper lookup can be maintained. Not really needed yet, but future fixing now. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-14zebra: Fix broken rib_matchDonald Sharp
rib_match is broken because the prefix is being treated as a char * pointer instead of the correct data type. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> (cherry picked from commit 8b5d6c95781b7c55faa957a2d3edf00c1ecb5c5a)
2016-09-14zebra: Refactor nexthop sendingDonald Sharp
When building a stream of nexthop information, refactor the code that writes it to 1 function. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-09-13lib: Fix memory leak in ipv6_prefix_matchQuentin Young
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-13Update isis_te.[c,h] to newly RFC7810Olivier Dugeon
draft-ietf-isis-te-metric-extensions-11 has been published as RFC 7810 Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com> (cherry picked from commit b2d48d2838ef4813f4c7c7d0ce1d55dc25e3acf1)
2016-09-13ospfd: Fix malformed link TLV when LP_USE_BW is setDavid Lebrun
(cherry picked from commit 6e88e97786e1223e2b59a995ec330c1f49c55b26)
2016-09-13lib: Fix various memory leaksQuentin Young
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-09-13doc: Get isisd.text included properlyDonald Sharp
When building from a 'make dist' allow the proper distribution of the new isisd.texi to build documentation properly. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>