| Age | Commit message (Collapse) | Author | 
 | 
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
 | 
 | 
Bunch of new stuff came in w/ the libyang2 upgrade that needs
to be suppressed.  Make it so.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
 | 
 | 
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
We already, reasonably, require python3 elsewhere. Do so here, and reap some
benefit.
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
tools: fix frr pathspace folder permissions
 | 
 | 
This allows defining a CLI command like this:
  `[no] some setting ![VALUE]`
with VALUE being optional for the "no" form, but required for the
positive form.  It's just a `[...]` where the empty branch can only be
taken for commands starting with `no`.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
Currently, in frr-reload we:
- store a list of single-line context keywords which needs to be
  frequently updated,
- have a separate "if" clause for every node and subnode we have in FRR.
Instead, we can store the tree of all known FRR nodes. This tree needs
to be updated whenever we add a new node, which is not frequent. And,
most importantly, it allows us to write node-agnostic code and save more
than 250 LOC.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
 | 
 | 
tools: add ospfd support bundle commands
 | 
 | 
workflow: document release scheduling discussed
 | 
 | 
As discussed in the weekly meeting today, this is what we're trying to
work with for the time being.
(Date calculator included as a bonus goodie ;)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
tools: Add ospfv2 and ospfv3 commands in support bundle
 | 
 | 
The pathspace folder in /var/run needs the x permission for the group too
Otherwise vtysh fails when running it with groups frrvty and frr:
    $ vtysh -N gateway
    % Can't open configuration file /etc/frr/gateway/vtysh.conf due to 'Permission denied'.
    vtysh_connect(/var/run/frr/gateway/zebra.vty): stat = Permission denied
Signed-off-by: Steffen Neubauer <s.neubauer@syseleven.de>
 | 
 | 
tools: add "vni" to oneline list
 | 
 | 
Co-authored-by: Yash Ranjan <ranjyany@vmware.com>
Signed-off-by: Yash Ranjan <ranjyany@vmware.com>
Co-authored-by: Mobashshera Rasool <mrasool@vmware.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
 | 
 | 
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
 | 
 | 
- Remove incorrect requirement for `service integrated-vtysh-config`
  when producing a delta.
- Add `--test-reset` option which suppresses non-parseable lines from the
  produced delta
- Use new features in common_config.py
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
 | 
 | 
Another round of cleanup
 | 
 | 
Speedup support bundles, fix bugs, add CLI timestamp
 | 
 | 
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
The Debian bullseye is frozen now, so this adds support to this
Debian release to the packaging script.
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
The packaging script would fail to run on non-master branch, fix that
by pulling original branch name.
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
Signed-off-by: Ondřej Surý <ondrej@sury.org>
 | 
 | 
Speedup (large topo): OLD: ~6 minutes NEW: ~1 second.
  (when paired with common_config.py changes)
- Collect each "proc" support in parallel
- For each "proc" only call vtysh once with all commands
Bug fixes:
- output was broken, a dump of python "repr" format of str.
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
Add "vni" into oneline list.
Additionally, keep them in order in oneline list.
Signed-off-by: anlancs <anlan_cs@tom.com>
 | 
 | 
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
 | 
 | 
When using frr-reload.py to modify a bgp neighbors route-map
the code was doing this:
a) deleting the previous route-map: `no neighbor XX route-map YY (in|out)`
b) Adding the new route-map back in `neighbor XX route-may ZZ (in|out)`
Now imagine that we have an outgoing route-map that we are changing
and the reload is large because of a large number of lines in frr.conf
Item (a) will happen.  BGP will immediately start sending all local
routes.  At some point in time in the future (b) will be applied.
This of course causes a withdraw but for a short amount of time we
are leaking unintended routes.  This is bad for several reasons
not 1) route churn upstream, 2) we might influence traffic to go the
wrong way. 3) if upstream has a maximum-prefix command the routes
being sent might trip its circuitry and shutdown the peer entirely
not even allowing you to get to (b).
Ticket: #2589685
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
EVPN route type-5 gateway IP overlay Index
 | 
 | 
tools: make frr-reload recognize `pbr table range` lines as single-line contexts
 | 
 | 
Problem reported that frr-reload.py didn't handle the mac access-list
command correctly, causing reloads to fail.  This fix adds the
support for the command as a single line context.
Signed-off-by: Don Slice <dslice@nvidia.com>
 | 
 | 
The line `pbr table range ...` does not start a new context so treat it
like a single-line context
Signed-off-by: Wesley Coakley <w@wesleycoakley.com>
 | 
 | 
Signed-off-by: Ameya Dharkar <adharkar@vmware.com>
 | 
 | 
 | 
 | 
zebrad: Added a command to dump routes in support bundle
 | 
 | 
All of peers and respective configs are wiped out when
pee-group is removed.
In an attempt to remove peer-group and its associated peers
configs via frr-reload fails if the peer-group is removed first.
To pass the peer-group config removal via frr-reload following
steps are taken:
Find the bgp context to which peer-group belongs.
Find the peer-group associated peer(s) and store them in a list.
Remove the peers config lines from the pending list.
Move the peer-group deletion line to end of the pending list so
any remaining peer-group associated config can be removed successfully.
The above steps take 3 iterations over the pending list and scales
linearly.
Ticket:2656351
Reviewed By:CCR-11575
Testing Done:
Broken:
config:
router bgp 5544
 neighbor PG1 peer-group
 neighbor PG1 remote-as external
 neighbor swp10 interface peer-group PG1
 neighbor swp10 timers 3 9
failed frr-reload log:
2021-05-17 22:02:42,608  INFO: Executed "router bgp 5544  no neighbor
PG1 peer-group"
2021-05-17 22:02:42,708  INFO: Failed to execute router bgp 5544  no
neighbor PG1 remote-as external
2021-05-17 22:02:42,808  INFO: Failed to execute router bgp 5544  no
neighbor PG1 remote-as
2021-05-17 22:02:42,906  INFO: Failed to execute router bgp 5544  no
neighbor PG1
2021-05-17 22:02:43,007  INFO: Failed to execute router bgp 5544  no
neighbor
2021-05-17 22:02:43,106  INFO: Failed to execute router bgp 5544  no
2021-05-17 22:02:43,106 ERROR: "router bgp 5544 --  no" we failed to
remove this command
2021-05-17 22:02:43,107 ERROR: % Create the peer-group or interface
first
With fix:
2021-05-17 22:05:27,687  INFO: Executed "router bgp 5544  no neighbor
PG1 remote-as external"
2021-05-17 22:05:27,791  INFO: Executed "router bgp 5544  no neighbor
PG1 peer-group"
Signed-off-by: Chirag Shah <chirag@nvidia.com>
 | 
 | 
Compile with v2.0.0 tag of `libyang2` branch of:
https://github.com/CESNET/libyang
staticd init load time of 10k routes now 6s vs ly1 time of 150s
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
tools: Add some more data to ignore for valgrind
 | 
 | 
lib: ip prefix-list "le" and "ge" bug squish
 | 
 | 
frr-reload no longer consolidates ip prefix-list "le 32" or "le 128"
rules when a "ge" is present, more accurately representing existing user
config and reflecting also what is accepted in CLI.
Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
 | 
 | 
Description:
Added a new show command("show ip zebra route dump") to dump all routes
with detailed information including nexthops,flags, status ..etc.
This helps for dubugging and added to support_bundle_command.conf.
Defined this command as a hidden command.
Signed-off-by: Rajesh Girada <rgirada@vmware.com>
 | 
 | 
When running valgrind there are some possible memory leaks.
These memory leaks we have absolutely no control over, mark
them as not worthy of being reported.
Finally move the valgrind suppressions file from bgpd/ to tools/
this is because this suppressions file can be used beyond bgpd
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
The previous method, using zassert.h and hoping nothing includes
assert.h (which, on glibc at least, just does "#undef assert" and puts
its own definition in...) was fragile - and actually broke undetected.
Just provide our own assert.h and control overriding by putting it in a
separate directory to add to the include path (or not.)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 |