summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4765 from opensourcerouting/defaults-v2Donald Sharp2019-12-0655-1270/+1966
|\ | | | | lib/*: new config defaults system, v2
| * topojson: use empty vtysh.conf for frr-reload.pyDavid Lamparter2019-12-061-2/+11
| | | | | | | | Signed-off-by: David Lamparter <equinox@diac24.net>
| * tools/frr-reload.py: remove stderr redirectsDavid Lamparter2019-12-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | These make no sense. stderr=subprocess.STDOUT means that vtysh's stdout and stderr are combined and returned by check_output. We don't expect errors in that, and we certainly don't log them. Leaving vtysh's stderr as stderr is perfectly fine, it'll be captured for logging just like stderr output from frr-reload.py. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * ospfd: use new defaults mechanism (v2)David Lamparter2019-12-066-49/+48
| | | | | | | | | | | | | | | | | | | | Some preprocessor constants converted to enums to make the names usable in the preprocessor. v2: better isolation between core and vty code to make future northbound conversion easier. Signed-off-by: David Lamparter <equinox@diac24.net>
| * ospfd: remove minor WTF in instance creationDavid Lamparter2019-12-061-11/+1
| | | | | | | | | | | | | | | | | | Well, "obviously" this condition block is pointless, since ospf_router_id_update is called afterwards unconditionally... (And even if it were needed, it would need to go in ospf_get too.) Signed-off-by: David Lamparter <equinox@diac24.net>
| * bgpd: use new defaults system (v2)David Lamparter2019-12-069-67/+114
| | | | | | | | | | | | | | | | | | | | | | This moves all the DFLT_BGP_* stuff over to the new defaults mechanism. bgp_timers_nondefault() added to get better file-scoping. v2: moved everything into bgp_vty.c so that the core BGP code is independent of the CLI-specific defaults. This should make the future northbound conversion easier. Signed-off-by: David Lamparter <equinox@diac24.net>
| * bgpd: move config-write to bgp_vty.cDavid Lamparter2019-12-064-1046/+1049
| | | | | | | | | | | | | | There's no good reason to have this in bgpd.c; it's just there historically. Move it to bgp_vty.c where it makes more sense. Signed-off-by: David Lamparter <equinox@diac24.net>
| * doc: document defaults mechanismDavid Lamparter2019-12-061-0/+134
| | | | | | | | Signed-off-by: David Lamparter <equinox@diac24.net>
| * build: apply DFLT_NAME/profiles in init scriptDavid Lamparter2019-12-064-5/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully at some point we can get rid of the --enable-datacenter switch and just have the init script do magic. Should already work for Cumulus as it is. NB: the profile name can't be baked into the package. The whole point is to make the package profile-agnostic; in theory at some point the exact same package files should work on both, say, a Cumulus switch and a Linux software BGP DFZ router. Signed-off-by: David Lamparter <equinox@diac24.net>
| * lib/defaults: add bool variable supportDavid Lamparter2019-12-062-0/+12
| | | | | | | | | | | | | | (I hadn't initially added this because I thought it superfluous, but it kinda makes things nicer.) Signed-off-by: David Lamparter <equinox@diac24.net>
| * lib: new defaults logicDavid Lamparter2019-12-068-73/+376
| | | | | | | | | | | | | | Since we've been writing out "frr version" and "frr defaults" for about a year and a half now, we can now actually use them to manage defaults. Signed-off-by: David Lamparter <equinox@diac24.net>
| * lib: add frr_version_cmp()David Lamparter2019-12-068-1/+180
| | | | | | | | | | | | This just compares 2 version strings. Signed-off-by: David Lamparter <equinox@diac24.net>
| * lib: rename memory_vty.c to lib_vty.cDavid Lamparter2019-12-0625-49/+37
| | | | | | | | | | | | And memory_init() to lib_cmd_init(). Signed-off-by: David Lamparter <equinox@diac24.net>
* | Merge pull request #5332 from mjstapp/remove_zapi_label_flagDonald Sharp2019-12-069-191/+225
|\ \ | | | | | | *: revise zapi nexthop encoding
| * | *: revise zapi nexthop encodingMark Stapp2019-12-067-181/+210
| | | | | | | | | | | | | | | | | | | | | | | | Use a per-nexthop flag to indicate the presence of labels; add some utility zapi encode/decode apis for nexthops; use the zapi apis more consistently. Signed-off-by: Mark Stapp <mjs@voltanet.io>
| * | lib: use const in several stream lib apisMark Stapp2019-12-062-10/+15
| | | | | | | | | | | | | | | | | | Add some const to some stream apis. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* | | Merge pull request #5462 from dslicenc/ipv6-ra-lifetime-0David Lamparter2019-12-064-5/+50
|\ \ \ | | | | | | | | zebra: send RA lifetime of 0 before ceasing to advertise RAs
| * | | zebra: send RA lifetime of 0 before ceasing to advertise RAsDon Slice2019-12-034-5/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by testing agency that RFC4861 section 6.2.5 states that a router should send an RA with a lifetime of 0 before ceasing to send RAs on the interface, or when the interace is shutdown, or the router is shutdown. This fix adds that capability. Ticket: CM-27061 Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
* | | | Merge pull request #5226 from donaldsharp/interface_fixupDavid Lamparter2019-12-066-69/+70
|\ \ \ \ | | | | | | | | | | Interface fixup
| * | | | eigrpd, ospfd, pimd: Fix assumption that interface may not be upDonald Sharp2019-12-045-66/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit: ddbf3e60604019d4b38d51226700e2244cc531b6 This commit modified the interface up handling code in ZAPI such that the zclient handled the decoding for you. Prior to this commit ospf assumed that it could use the old ifp pointer to know state before reading the stream. This lead to a situation where ospf would `smartly` track and do the right thing in this situation. This commit changed this assumption and in certain scenarios, say a interface was changed after it was already up would lead to situations where ospf would not properly handle the new interface up. Modify ospf to track data that is important to it in it's interface->info pointer. This code pattern was followed in both eigrp and pim. In eigrp's case it was just behaving weirdly in any event so fixing this pattern is not a big deal. In pim's case it was not properly using this so it's a no-op to fix. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
| * | | | ospfd: interface name and ip address can be 32 bytesDonald Sharp2019-12-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are only saving 20 bytes of string output for ospf neighbor commands. Fixed output: act-7326-05# show ip ospf vrf vrf1012 neighbor all VRF Name: vrf1012 Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL 9.9.12.11 1 Full/DROther 39.973s 200.254.2.10 swp49s0.2:200.254.2.9 4 0 0 9.9.12.12 1 Full/DROther 39.995s 200.254.2.14 swp49s1.2:200.254.2.13 9 0 0 9.9.12.13 1 Exchange/DROthe 39.981s 200.254.2.18 swp49s2.2:200.254.2.17 157 0 0 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | | | | Merge pull request #5468 from qlyoung/bgpd-remove-bgp-attr-dupDavid Lamparter2019-12-0610-34/+29
|\ \ \ \ \ | | | | | | | | | | | | bgpd: remove bgp_attr_dup
| * | | | | bgpd: remove bgp_attr_dupQuentin Young2019-12-0510-34/+29
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | yeah Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | | | | Merge pull request #5218 from mjstapp/fix_topo_kernel_5David Lamparter2019-12-062-2/+27
|\ \ \ \ \ | | | | | | | | | | | | topotests: Adapt to linux kernel 5+
| * | | | | topotests: Adapt to linux kernel 5+Mark Stapp2019-12-062-2/+27
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make a few changes to try to support topotests with vrfs on kernel 5 and later. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* | | | | Merge pull request #5438 from sworleys/PBR-FixesRenato Westphal2019-12-063-25/+62
|\ \ \ \ \ | | | | | | | | | | | | pbrd: Assorted Fixes
| * | | | | pbrd: make vty `match *` code more readableStephen Worley2019-12-031-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the vty match src|dst|mark code a bit more readable in its conditonal logic. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
| * | | | | pbrd: consolidate rule_notify debugs into one callStephen Worley2019-12-031-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consolidate the rule_notify_owner() debugs based on type into one call, making use of zapi_rule_notify_owner2str() to do so. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
| * | | | | lib: Add zapi_rule_notify_owner2str() functionStephen Worley2019-12-031-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a function for converting the zapi_rule_notify_owner enum type to a string for ease of use. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
| * | | | | pbrd: Add newlines in `set nexthop*` vty outputStephen Worley2019-12-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were missing some newlines in handling vty outputs for the `set nexthop*` commands. Add them in there. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
| * | | | | pbrd: use dst string in match dst-ip vty descriptionStephen Worley2019-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vty description for the `set match dst-ip` command was using "src ip" in its description. Change it to use "dst ip". Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
| * | | | | pbrd: don't silently fail on atomic match MARK change attemptsStephen Worley2019-12-031-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also don't silently fail when we attempt to atomically change a match MARK to a new one. We would overwrite the frist one but never actually install it. Change it to explicitly fail if a config is already present for now. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
| * | | | | pbrd: don't silently fail on atomic match IP change attemptsStephen Worley2019-12-031-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently pbrd does not support the abilitity to make atomic changes to a config. ex) `match src-ip 1.1.1.1/32` `match src-ip 1.1.1.0/24` We would overwrite the first one but never actually install it. In the `set nexthop commands` we explicitly fail if there is already a `set nexthop` config present. This patch extends the match src/dest-ip configs to do the same. In the future we should make all these commands atomic but for now its better to not fail silently at the very least. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
| * | | | | pbrd: don't set rule removed on failStephen Worley2019-12-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't treat a remove failure as a successful remove. This can cause us to get out of sync with the kernel. Pbrd makes decisions on rule handling based on its installed state so this needs to be as close to accurate as possible. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
* | | | | | Merge pull request #5439 from mjstapp/nhg_add_labelsRenato Westphal2019-12-063-26/+115
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | lib: support labelled nexthops in nexthop_groups
| * | | | | lib: support labelled nexthops in nexthop_groupsMark Stapp2019-12-033-26/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for labelled nexthops in nexthop-group vtysh configuration. Also update the PBR doc where the cli is described. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* | | | | | Merge pull request #5288 from SumitAgarwal123/bfd_docsRafael Zalamena2019-12-061-1/+52
|\ \ \ \ \ \ | | | | | | | | | | | | | | doc: Adding new CLI and updating existing show output
| * | | | | | doc: Adding new CLI and updating exsisting show outputSumitAgarwal1232019-11-061-1/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Adding 2 two new fields Peer type, configured/dynamic Detect multiplier 2. Added new command "clear bfd counters" 3. Added new command "show bfd peers brief" Signed-off-by: Sayed Mohd Saquib sayed.saquib@broadcom.com
* | | | | | | Merge pull request #5493 from ton31337/fix/doc_underline_too_shortQuentin Young2019-12-061-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | doc: Add moaar dashes to underline line
| * | | | | | | doc: Add moaar dashes to underline lineDonatas Abraitis2019-12-061-1/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | doc/user/bgp.rst:420: WARNING: Title underline too short. Reject routes with AS_SET or AS_CONFED_SET types ------------------------------- Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | | | | | | Merge pull request #5464 from qlyoung/fix-bgp-prefix-orf-heap-overflowDonatas Abraitis2019-12-061-0/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | lib: fix heap buf overflow when adding prefix orf
| * | | | | | | lib: fix heap buf overflow when adding prefix orfQuentin Young2019-12-031-0/+2
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't lose your way Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | | | | | | Merge pull request #5478 from mjstapp/fix_ospf_apiserver_saDonald Sharp2019-12-061-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | ospfd: clean up SA warning
| * | | | | | | ospfd: clean up SA warningMark Stapp2019-12-051-1/+1
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove an unneeded initialization to clear up an SA report. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* | | | | | | Merge pull request #5476 from qlyoung/fix-init-script-blehMark Stapp2019-12-051-1/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | tools: [ [ is not valid shell test syntax
| * | | | | | tools: [ [ is not valid test syntaxQuentin Young2019-12-051-1/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | | | | | Merge pull request #5472 from mjstapp/fix_dplane_prov_flagsDonatas Abraitis2019-12-051-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | zebra: capture dplane plugin flags
| * | | | | | zebra: capture dplane plugin flagsMark Stapp2019-12-041-0/+1
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flags can be important - like "threaded" - so we need to actually capture them when plugins are registered. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* | | | | | Merge pull request #5471 from sworleys/Doc-Sign-OffMark Stapp2019-12-041-0/+5
|\ \ \ \ \ \ | |/ / / / / |/| | | | | doc: add doc for easy commit sign-off with `-s`
| * | | | | doc: add doc for easy commit sign-off with `-s`Stephen Worley2019-12-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some doc to let developers know about the `-s` flag with `git commit`. We were seeing some people writing the sign-off manually. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>