summaryrefslogtreecommitdiffstats
path: root/isisd (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: kill useless if(...) after VTY_DECLVAR_CONTEXTDavid Lamparter2016-12-091-12/+0
| | | | | | | VTY_DECLVAR_CONTEXT already contains a NULL check, vty warning message and return statement. These are not needed. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* lib: remove vty->indexDavid Lamparter2016-12-091-2/+1
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* Merge branch 'stable/2.0'David Lamparter2016-12-084-53/+15
|\ | | | | | | | | | | | | | | Conflicts: bgpd/rfapi/bgp_rfapi_cfg.c bgpd/rfapi/vnc_debug.c Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * Merge branch '-isisd-simpl' into stable/2.0David Lamparter2016-12-083-50/+15
| |\ | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| | * isisd: create the isis_circuit_prepare() helper functionRenato Westphal2016-11-283-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | This reduces code duplication and the likelihood of a bug like 186534 ("isisd: fix loss of packets after circuit is brought up") to happen again. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
| | * isisd: use a smaller #ifdef for isis_receive()Renato Westphal2016-11-281-36/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to provide two definitions of the isis_receive() function (one for GNU_LINUX and the other for !GNU_LINUX). Both differ only slightly so it makes more sense to define isis_receive() just once and use a smaller #ifdef to account for these differences. This improves code readability. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
| * | isisd: Remove unnecessary debugDonald Sharp2016-12-081-3/+0
| | | | | | | | | | | | | | | | | | | | | Remove unnecessary debug from isis write mem. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | | Merge remote-tracking branch 'osr_private_quagga/queue/osr/vtysh-generic' ↵Quentin Young2016-12-0226-3350/+37
|\ \ \ | | | | | | | | | | | | into vtysh-grammar
| * | | *: make DEFUN installations file-localDavid Lamparter2016-12-011-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves all install_element calls into the file where the DEFUNs are located. This fixes several small related bugs: - ospf6d wasn't installing a "no interface FOO" command - zebra had a useless copy of "interface FOO" - pimd's copy of "interface FOO" was not setting qobj_index, which means "description LINE" commands would fail with an error The next commit will do the actual act of making "foo_cmd" static. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | Merge branch 'vtysh-grammar'David Lamparter2016-11-285-868/+390
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: isisd/isisd.c lib/Makefile.am lib/thread.c Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | Merge branch 'cmaster-next-isisd-bpf' into cmaster-next-relengDavid Lamparter2016-11-281-0/+27
| |\ \ \
| | * | | isisd: use BPF on Linux/PF_PACKETDavid Lamparter2016-11-151-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we *really* don't want to receive every single packet (of any protocol type) coming in on an IS-IS enabled interface. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | Merge remote-tracking branch 'cmaster-next' into cmaster-next-relengDavid Lamparter2016-11-281-2/+2
| |\ \ \ \ | | |/ / / | |/| | / | | | |/ | | |/|
| | * | isisd: fix loss of packets after circuit is brought upRenato Westphal2016-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last parameter of THREAD_TIMER_ON() is the timeout, and we were using circuit->fd for that. So, when a circuit was brought up, isisd would miss all received packets on this circuit for quite a few seconds, slowing down the convergence process. To fix this, use the same logic we use in isis_receive() to calculate this timeout. This bug doesn't happen on Linux, which uses a different method to read packets from the network. Fixes the following ANVL tests on FreeBSD: ISIS-17.1, ISIS-18.6 (and probably others too). Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
| * | | isisd: remove topology generatorDavid Lamparter2016-11-1413-2423/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Licensing is unclear and the tool is a testbed-only half-broken pile of goo. Remove. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | *: fix some licensing SNAFUsDavid Lamparter2016-11-1416-925/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | bgpd/bgpd.c had a typo zebra/zebra_mpls_netlink.c was derived from rt_netlink.c isisd/include-netbsd/* are not needed (2 constants moved over) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | / all: Fix all underfull doc stringsQuentin Young2016-11-302-130/+29
| |/ |/| | | | | | | | | | | | | | | Additionally: * Add [ip] to a couple bgp show commands * Quick refactor of a couple ISIS commands * Quick refactor of a couple OSPF6 commands Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | all: Fix underfull doc strings, part 2Quentin Young2016-11-081-0/+1
| | | | | | | | | | | | | | Add missing docstrings and separating \n. Also eat some low-hanging refactoring fruit. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | all: Fix underfull doc strings, part 1Quentin Young2016-11-052-107/+62
| | | | | | | | | | | | | | Add missing docstrings and separating \n. Also eat some low-hanging refactoring fruit. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | Merge branch 'cmaster-next' into vtysh-grammarQuentin Young2016-10-212-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> Conflicts: bgpd/bgp_encap.c bgpd/bgp_route.c lib/command.c lib/command.h ospf6d/ospf6d.c vtysh/vtysh.c
| * isisd: Fix size of mallocChristian Franke2016-10-211-1/+1
| | | | | | | | | | | | Signed-off-by: Christian Franke <chris@opensourcerouting.org> Signed-off-by: Christian Franke <chris@opensourcerouting.org> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
| * isisd: fix an error that was probably a result of copypastingChristian Franke2016-10-211-1/+1
| | | | | | | | | | | | | | | | | | The code should check for the existance of the correct list prior to accessing it. Signed-off-by: Christian Franke <chris@opensourcerouting.org> Signed-off-by: Christian Franke <chris@opensourcerouting.org> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | Merge branch 'cmaster-next' into vtysh-grammarQuentin Young2016-10-201-1/+0
|\| | | | | | | | | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> Conflicts: isisd/isis_routemap.c zebra/rt_netlink.c
| * *: Consolidate routemap initializationDonald Sharp2016-10-191-1/+0
| | | | | | | | | | | | | | | | Consolidate the routemap initialization into one function. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | Merge branch 'cmaster-next' into vtysh-grammarQuentin Young2016-10-1815-188/+103
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> Conflicts: bgpd/bgp_route.c bgpd/bgp_routemap.c bgpd/bgp_vty.c isisd/isis_redist.c isisd/isis_routemap.c isisd/isis_vty.c isisd/isisd.c lib/command.c lib/distribute.c lib/if.c lib/keychain.c lib/routemap.c lib/routemap.h ospf6d/ospf6_asbr.c ospf6d/ospf6_interface.c ospf6d/ospf6_neighbor.c ospf6d/ospf6_top.c ospf6d/ospf6_zebra.c ospf6d/ospf6d.c ospfd/ospf_routemap.c ospfd/ospf_vty.c ripd/rip_routemap.c ripngd/ripng_routemap.c vtysh/extract.pl.in vtysh/vtysh.c zebra/interface.c zebra/irdp_interface.c zebra/rt_netlink.c zebra/rtadv.c zebra/test_main.c zebra/zebra_routemap.c zebra/zebra_vty.c
| * *: Consolidate all double VIEW_NODE and ENABLE_NODE'sDonald Sharp2016-10-083-25/+0
| | | | | | | | | | | | | | | | If a command is put into the VIEW_NODE, it is going into the ENABLE_NODE as well. This is especially true for show commands. As such if a command is in both consolidate it down to VIEW_NODE. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
| * lib, isisd: enable concurrent configuration editingDavid Lamparter2016-10-072-1/+2
| | | | | | | | | | | | | | | | Finally, this disables the config editing lock for isisd. It also enables deprecation warnings for the lib/ and isisd/ to catch accidental uses of vty->index. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * isisd: use qobj for vty->index context positionDavid Lamparter2016-10-074-162/+67
| | | | | | | | | | | | | | | | This converts all uses of vty->index over to qobj. With this, isisd now supports concurrent configuration editing as there are no more unsafe references held anywhere while in config-edit mode. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * isisd: qobj: register everythingDavid Lamparter2016-10-075-0/+28
| | | | | | | | | | | | | | Wire up all neccessary isisd first-class objects to be able to use qobj safe-pointers on them. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * Make route flags a 32bit fieldChristian Franke2016-09-231-4/+5
| | | | | | | | Signed-off-by: Christian Franke <chris@opensourcerouting.org>
| * lib: Check prefix length from zebra is sensiblePaul Jakma2016-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * zclient.c: prefix length on router-id and interface address add messages not sanity checked. fix. * */*_zebra.c: Prefix length on zebra route read was not checked, and clients use it to write to storage. An evil zebra could overflow client structures by sending overly long prefixlen. Prompted by discussions with: Donald Sharp <sharpd@cumulusnetworks.com>
| * isisd: fix assert warningDavid Lamparter2016-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | icc (the Intel C Compiler) "knows" that assert() can be disabled by setting specific optimisation flags, and therefore emits a warning about missing a return value after an "always-error" assert. Workaround by returning a value - this probably needs discussion and a better fix (for all places where the code needs to abort due to internal errors). Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * isisd: Segmentation fault on isis daemon fixesboris yakubov2016-09-234-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have a fix for 2 segmentation fault scenarios on the isis daemon: 1. When running a command "isis passive" on an interface in the following context: "end" "configure terminal " "interface dummy0" "isis passive" The trace back collected: isis_adjacency.c:521 family=2, root_sysid=0x20aee6d0 "", parent=0x20af4d68) at isis_spf.c:999 sysid=0x20aee6d0 "") at isis_spf.c:1217 isis_spf.c:1372 isis_lsp.c:416 isis_lsp.c:1660 isis_main.c:368 The fix location: file name: isisd/isis_adjacency.c routine name: isis_adj_build_up_list 2. When deleting the existing isis router instance: "end" "configure terminal " "no router isis DEAD" The fix location: isisd/isis_events.c, routine circuit_resign_level isisd/isis_lsp.c, routine lsp_destroy isisd/isis_route.c, isis_route_validate The trace back collection: "DEAD") at isisd.c:252 argc=1, argv=0xbfc39054) at isisd.c:1520 vty=0x20d6f528, cmd=0x0) at command.c:2121 cmd=0x0, vtysh=0) at command.c:2155 isis DEAD") at vty.c:433 isis_main.c:368 and "DEAD") at isisd.c:260 argc=1, argv=0xbfd6cf54) at isisd.c:1520 vty=0x208cb528, cmd=0x0) at command.c:2121 cmd=0x0, vtysh=0) at command.c:2155 isis DEAD") at vty.c:433 isis_main.c:368 The patch is included. patchwork #833: http://patchwork.quagga.net/patch/833/
| * Revert "Make route flags a 32bit field"Donald Sharp2016-09-231-5/+4
| | | | | | | | This reverts commit 85eda2c98520a9553bdc05c136618f9d04917e9b.
| * Make route flags a 32bit fieldChristian Franke2016-09-231-4/+5
| | | | | | | | Signed-off-by: Christian Franke <chris@opensourcerouting.org>
| * *: remove dead codeRenato Westphal2016-09-231-4/+0
| | | | | | | | | | | | | | | | 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>
* | all: removed all DEFUN command stompsDaniel Walton2016-10-061-266/+14
| | | | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | all: Fix various syntax errorsQuentin Young2016-10-041-1/+13
| | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | all: added some missing <>s within []sDaniel Walton2016-09-301-1/+1
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | ospf6d: scrubbed some argc CHECK MEsDaniel Walton2016-09-301-1/+0
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | isisd: scrub argc CHECK ME's, refactor generalQuentin Young2016-09-303-51/+57
| | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | all: scrubbed some argc CHECK MEsDaniel Walton2016-09-294-21/+1
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | all: added CHECK ME for DEFUNs that look at argcDaniel Walton2016-09-295-0/+12
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | isisd: resolve CHECK MEsDaniel Walton2016-09-274-454/+152
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | Expand #defines in command stringsDaniel Walton2016-09-251-2/+2
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | isisd: add 'int idx_foo' argv index variablesDaniel Walton2016-09-235-90/+169
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | convert <1-255> to (1-255), ()s to <>s, etcDaniel Walton2016-09-235-52/+52
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | ALIAS removal for bgp, ospf, pim, isis, rip, ripng, lib and zebraDaniel Walton2016-09-233-343/+377
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | isisd: argv updateDaniel Walton2016-09-235-98/+94
| | | | | | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* | Revert "isisd: Make work under new regime"Daniel Walton2016-09-225-99/+99
| | | | | | | | This reverts commit 38c249987301aac93bebc0cb7b51784d5827c066.