bgpd: no router bgp check candidate configFor `no router bgp` without ASN check candidate
config for default bgp instance presence to avoid
failure from checking backend db where bgp instance
may not be created.
This situation can be seen in transactional cli mode
with following config.
bharat(config)# router bgp 101
bharat(config-router)# exit
bharat(config)# no router bgp
% No BGP process is configured
bharat(config)# no router bgp
...
bgpd: move router bgp nb callbackmove `router bgp` nb callback at `bgp` node level
to have access to bgp context at neighbor and peer-group
level and align create/destroy callbacks call during
no router bgp.
Earlier `no router bgp` is performed first global destroy
callback is called which essentially removes `bgp context`
then it calls to remove (parallel nodes) neighbor and peer-group
which does not have access to bgp conte...
tests/bgpd: initialized candidate_config to vtyshIn test_peer_attr.c test is initializd with vty handler
but candiate_config is not set.
northbound converted bgp cli expects to derefence the
candidate_config field which leads to crash.
(gdb) p *test->vty->candidate_config
$9 = {dnode = 0x0, version = 0}
Signed-off-by: Chirag Shah <chirag@nvidia.com>
bgpd: register nb routing hookOn bgpd bootstrap register routing hook which ensures
only single bgp named instance created per vrf routing
hierarchy.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
bgpd: convert global config to transactional cliConvert global congigurations clis to transactional
clis using northbound plugin callbacks.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
lib: increase the size of northbound max moduleIncrease the size of frr_yang_module_info
macro to accomodate bgp module list.
root@bharat:~/stash/frr# egrep "xpath" bgpd/bgp_nb.c | wc -l
1150
Signed-off-by: Chirag Shah <chirag@nvidia.com>
bgpd: bgp northbound callbacks prototypesThis commit contains splitting of auto-generated bgp northbound callbacks
into separate files.
Include the files into bgp makefile.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
vtysh: dynamically generate the list of daemons for commandsSome daemons were actually missing from the static definitions: nhrpd,
babeld, eigrpd and bfdd.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
tests: fix typos in zebra_rib and _netlinkFix a couple of typos in the zebra_rib and _netlink topotest
suites.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
tests: fix regex in all_proto testMake sure the all-protocols test_isis_interfaces testcase uses
a regex substitution that includes all the hex characters.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
*: make failure to decode nht update an errorThis should never happen; no need to debug guard it and it's not a
warning, if this isn't working then NHT is not working at all.
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
lib: fix zapi_nexthop_update_decode error rcThis function returns true on success and false otherwise. Returning -1
on error is equivalent to returning true.
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
vtysh: fix commands when building only isisd or fabricd * add files to vtysh_scan when building only fabricd
* don't add isisd/fabricd commands when daemon build is disabled
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
tests: pim-basic mcast scripts fixes for python3The pim-basic suite uses some private python scripts to
send and receive mcast traffic: revise them to support
both py2 and py3.
Signed-off-by: Mark Stapp <mjs@voltanet.io>