mirror_frr/lib
Donald Sharp 1d311a05c9 lib, zebra: Allow for interface deletion when kernel event happens
When zebra gets a callback from the kernel that an interface has
actually been deleted *and* the end users has not configured
the interface, then allow for deletion of the interface from zebra.

This is especially important in a docker environment where containers
and their veth interfaces are treated as ephermeal.  FRR can quickly
have an inordinate amount of interfaces sitting around that are
not in the kernel and we have no way to clean them up either.

My expectation is that this will cause a second order crashes
in upper level protocols, but I am not sure how to catch these
and fix them now ( suggestions welcome ).  There are too many
use patterns and order based events that I cannot know for certain
that we are going to see any at all, until someone sees this problem
as a crash :(  I do not recommend that this be put in the current
stabilization branch and allow this to soak in master for some time
first.

Testing:

sharpd@donna ~/frr4> sudo ip link add vethdj type veth peer name vethjd
sharpd@donna ~/frr4> sudo ip link add vethaa type veth peer name vethab
sharpd@donna ~/frr4> sudo vtysh -c "show int brief"
Interface       Status  VRF             Addresses
---------       ------  ---             ---------
dummy1          down    default
enp0s3          up      default         10.0.2.15/24
enp0s8          up      default         192.168.209.2/24
enp0s9          up      default         192.168.210.2/24
enp0s10         up      default         192.168.212.4/24
lo              up      default         10.22.89.38/32
vethaa          down    default
vethab          down    default
vethdj          down    default
vethjd          down    default
virbr0          up      default         192.168.122.1/24
virbr0-nic      down    default

sharpd@donna ~/frr4> sudo ip link set vethaa up
sharpd@donna ~/frr4> sudo ip link set vethab up
sharpd@donna ~/frr4> sudo ip link del vethdj
sharpd@donna ~/frr4> sudo vtysh -c "show int brief"
Interface       Status  VRF             Addresses
---------       ------  ---             ---------
dummy1          down    default
enp0s3          up      default         10.0.2.15/24
enp0s8          up      default         192.168.209.2/24
enp0s9          up      default         192.168.210.2/24
enp0s10         up      default         192.168.212.4/24
lo              up      default         10.22.89.38/32
vethaa          up      default
vethab          up      default
virbr0          up      default         192.168.122.1/24
virbr0-nic      down    default

sharpd@donna ~/frr4> sudo ip link del vethaa
sharpd@donna ~/frr4> sudo vtysh -c "show int brief"
Interface       Status  VRF             Addresses
---------       ------  ---             ---------
dummy1          down    default
enp0s3          up      default         10.0.2.15/24
enp0s8          up      default         192.168.209.2/24
enp0s9          up      default         192.168.210.2/24
enp0s10         up      default         192.168.212.4/24
lo              up      default         10.22.89.38/32
virbr0          up      default         192.168.122.1/24
virbr0-nic      down    default

sharpd@donna ~/frr4> sudo ip link add vethaa type veth peer name vethab
sharpd@donna ~/frr4> sudo vtysh -c "show int brief"
Interface       Status  VRF             Addresses
---------       ------  ---             ---------
dummy1          down    default
enp0s3          up      default         10.0.2.15/24
enp0s8          up      default         192.168.209.2/24
enp0s9          up      default         192.168.210.2/24
enp0s10         up      default         192.168.212.4/24
lo              up      default         10.22.89.38/32
vethaa          down    default
vethab          down    default
virbr0          up      default         192.168.122.1/24
virbr0-nic      down    default

sharpd@donna ~/frr4> sudo vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 7.2-dev
frr defaults datacenter
hostname donna.cumulusnetworks.com
log stdout
no ipv6 forwarding
!
ip route 192.168.3.0/24 192.168.209.1
ip route 192.168.4.0/24 blackhole
ip route 192.168.5.0/24 192.168.209.1
ip route 192.168.6.0/24 192.168.209.1
ip route 192.168.7.0/24 99.99.99.99 nexthop-vrf EVA
ip route 192.168.8.0/24 192.168.209.1
ip route 4.5.6.7/32 12.13.14.15
!
interface dummy1
 ip address 12.13.14.15/32
!
interface vethaa
 description FROO
!
line vty
!
end
sharpd@donna ~/frr4> sudo ip link del vethaa
sharpd@donna ~/frr4> sudo vtysh -c "show int brief"
Interface       Status  VRF             Addresses
---------       ------  ---             ---------
dummy1          down    default
enp0s3          up      default         10.0.2.15/24
enp0s8          up      default         192.168.209.2/24
enp0s9          up      default         192.168.210.2/24
enp0s10         up      default         192.168.212.4/24
lo              up      default         10.22.89.38/32
vethaa          down    default
virbr0          up      default         192.168.122.1/24
virbr0-nic      down    default

sharpd@donna ~/frr4> sudo vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 7.2-dev
frr defaults datacenter
hostname donna.cumulusnetworks.com
log stdout
no ipv6 forwarding
!
ip route 192.168.3.0/24 192.168.209.1
ip route 192.168.4.0/24 blackhole
ip route 192.168.5.0/24 192.168.209.1
ip route 192.168.6.0/24 192.168.209.1
ip route 192.168.7.0/24 99.99.99.99 nexthop-vrf EVA
ip route 192.168.8.0/24 192.168.209.1
ip route 4.5.6.7/32 12.13.14.15
!
interface dummy1
 ip address 12.13.14.15/32
!
interface vethaa
 description FROO
!
line vty
!
end

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-09-19 13:34:06 -04:00
..
printf lib: Include proper header 2019-06-07 09:29:45 -04:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
agentx.c lib: remove agentx already enabled warning 2018-10-28 02:50:47 +00:00
agg_table.c bgpd, lib, zebra: Wrapper get/set of table->info pointer 2018-09-23 20:04:39 -04:00
agg_table.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
atomlist.c lib: atomlist & atomsort 2019-04-27 19:33:39 +02:00
atomlist.h lib: Impelement the *_del list API. 2019-07-31 11:35:21 -04:00
bfd.c bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
bfd.h bgpd: add vty command to enable bfd control-plane-check-failure 2019-05-14 16:49:49 +02:00
bitfield.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
buffer.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
buffer.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
checksum.c lib: add internet checksum with pseudoheaders 2019-05-17 00:27:08 +00:00
checksum.h lib: add internet checksum with pseudoheaders 2019-05-17 00:27:08 +00:00
clippy.c lib/clippy: error out on unsupported bits 2019-06-12 19:22:59 +02:00
clippy.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
command_graph.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
command_graph.h lib: a few more trivial changes for C++ compatibility 2019-02-11 22:34:12 -02:00
command_lex.l lib: change M:A:C to X:X:X:X:X:X 2018-10-24 21:44:33 +00:00
command_match.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
command_match.h lib: rename enum to avoid conflict 2019-02-11 22:34:12 -02:00
command_parse.y lib: add a check for {[...]} in DEFUNs 2019-06-25 13:35:21 +02:00
command_py.c *: config.h or zebra.h is the first #include 2019-06-13 13:35:33 +02:00
command.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
command.h bgpd/bmp: BMP implementation 2019-08-30 19:22:23 +02:00
compiler.h lib: add some macro helpers 2019-09-03 17:15:17 +02:00
csv.c Merge pull request #2965 from opensourcerouting/buildfoo-20180904 2018-09-09 14:11:10 -04:00
csv.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
db.c lib: introduce new northbound API 2018-10-27 16:16:12 -02:00
db.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
debug.c lib: Separate out the debug_init api 2019-05-28 17:16:16 -04:00
debug.h lib: Separate out the debug_init api 2019-05-28 17:16:16 -04:00
defun_lex.l lib/clippy: error out on unsupported bits 2019-06-12 19:22:59 +02:00
distribute.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
distribute.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
ferr.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
ferr.h vtysh: only show error codes once 2019-07-29 17:18:18 +00:00
filter.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
filter.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
freebsd-queue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
frr_pthread.c lib: clean up frr_pthread structs at exit 2019-09-17 16:12:28 +00:00
frr_pthread.h lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
frr_zmq.c *: do not check XMALLOC / XCALLOC for null ret 2019-02-25 23:00:44 +00:00
frr_zmq.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
frratomic.h lib: add cmpxchg_strong to frratomic.h 2019-04-18 12:44:29 +02:00
frrcu.c lib: Stop arm crash on shutdown 2019-08-28 12:09:41 -04:00
frrcu.h lib: RCU 2019-07-31 03:34:09 +02:00
frrlua.c *: config.h or zebra.h is the first #include 2019-06-13 13:35:33 +02:00
frrlua.h build: fix Lua build 2019-05-10 16:08:32 +00:00
frrstr.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
frrstr.h lib: replace begins_with, add frrstr_endswith 2019-05-23 20:52:01 +00:00
getopt1.c *: reindent 2017-07-17 14:04:07 +02:00
getopt.c Revert "*: reindent pt. 2" 2017-07-22 14:52:33 +02:00
getopt.h *: reindent 2017-07-17 14:04:07 +02:00
gitversion.pl build: make gitversion more useful 2017-08-02 02:59:51 +02:00
grammar_sandbox_main.c lib: Add '--command-log-always` to all daemons startup 2019-05-31 10:06:42 -04:00
grammar_sandbox.c lib: reduce exported var symbols 2019-04-03 20:34:18 +00:00
graph.c Treewide: use ANSI function definitions 2019-01-24 11:21:59 +01:00
graph.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
hash.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
hash.h lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
hook.c lib: flip to ISC on hook & module code 2018-12-14 16:24:06 +01:00
hook.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
iana_afi.h lib, bgpd: Create iana_afi.h for storing iana_afi/safi enums 2019-06-02 15:02:07 -04:00
id_alloc.c *: config.h or zebra.h is the first #include 2019-06-13 13:35:33 +02:00
id_alloc.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
if_rmap.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
if_rmap.h eigrp, rip, ripng, lib: unlink if_rmap from vrf 2019-02-19 21:11:37 +01:00
if.c lib, zebra: Allow for interface deletion when kernel event happens 2019-09-19 13:34:06 -04:00
if.h lib, zebra: Allow for interface deletion when kernel event happens 2019-09-19 13:34:06 -04:00
imsg-buffer.c lib, ldpd: fix SA warnings from TAILQ oddness 2018-09-08 20:34:32 +02:00
imsg.c lib: reduce exported var symbols 2019-04-03 20:34:18 +00:00
imsg.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
ipaddr.h lib: use const in ipaddr2str 2019-07-17 16:59:41 -04:00
jhash.c Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop " 2019-05-02 07:15:39 -04:00
jhash.h Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop " 2019-05-02 07:15:39 -04:00
json.c lib: add more convenient boolean adder for json 2019-05-17 00:27:08 +00:00
json.h vrrpd, lib: style fixes 2019-05-17 00:27:08 +00:00
keychain.c lib: reduce exported var symbols 2019-04-03 20:34:18 +00:00
keychain.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
lib_errors.c lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
lib_errors.h lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
libfrr.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
libfrr.h *: Convert over to all -N namespace to change DAEMON_VTY_DIR 2019-06-04 19:52:46 -04:00
libospf.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
linklist.c lib: const a couple linklist apis 2019-05-28 20:23:04 +00:00
linklist.h *: s/TRUE/true/, s/FALSE/false/ 2019-07-01 17:26:05 +00:00
log_int.h lib: move zlog() prototype back to the public logging API 2019-04-18 13:15:13 -03:00
log_vty.c lib: Remove extraneous spacing/output filter cmds 2019-06-19 17:20:24 -04:00
log_vty.h lib,vtysh: Add vtysh commands for log-filter 2019-06-19 17:20:24 -04:00
log.c lib, zebra: add new MPLS zapi message with route replace semantics 2019-09-10 00:01:10 -03:00
log.h lib: Add log filter manipulation code 2019-06-19 17:20:24 -04:00
Makefile build: convert lib/ to non-recursive build 2017-07-31 23:03:27 +02:00
md5.c Treewide: use ANSI function definitions 2019-01-24 11:21:59 +01:00
md5.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
memory_vty.c lib: add process pids to 'show modules' 2019-07-02 15:15:13 -04:00
memory_vty.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
memory.c lib: MTYPE_PREFIX_FLOWSPEC should not be exposed by memory.h 2019-02-07 09:35:49 -05:00
memory.h lib: fix MTYPE alias on clang 2019-06-21 14:51:50 +02:00
mlag.c lib: Add mlag_role2str function 2019-01-04 12:21:00 -05:00
mlag.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
module.c *: remove null check before XFREE 2019-02-25 23:00:46 +00:00
module.h lib/printf: rename & private __find_arguments 2019-06-03 16:44:32 +02:00
monotime.h lib: add monotime_to_realtime() 2019-08-30 19:00:45 +02:00
mpls.c lib, zebra: Move label conversion strings to lib 2018-04-18 07:06:11 -04:00
mpls.h isisd: Update TLVs processing for TE, RI & SR 2019-09-17 17:35:50 +02:00
netns_linux.c *: remove null check before XFREE 2019-02-25 23:00:46 +00:00
netns_other.c all: remove logical-router functionality 2019-08-02 17:10:11 +03:00
network.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
network.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
nexthop_group_private.h lib: Private api for nexthop_group manipulation 2019-06-25 22:58:48 -04:00
nexthop_group.c lib: Add tail check before nexthop insertion 2019-08-19 13:55:50 -04:00
nexthop_group.h lib: Private api for nexthop_group manipulation 2019-06-25 22:58:48 -04:00
nexthop.c lib: Sort zapi_nexthops on the encode 2019-08-19 15:56:45 -04:00
nexthop.h lib: Sort zapi_nexthops on the encode 2019-08-19 15:56:45 -04:00
northbound_cli.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
northbound_cli.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
northbound_confd.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
northbound_db.c lib: introduce new northbound API 2018-10-27 16:16:12 -02:00
northbound_db.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
northbound_grpc.cpp Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
northbound_sysrepo.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
northbound.c lib: add an exception in the northbound for operational data callbacks 2019-09-18 14:35:10 -03:00
northbound.h lib: fix ordering issues in the northbound 2019-09-18 14:35:10 -03:00
ns.h all: remove logical-router functionality 2019-08-02 17:10:11 +03:00
ntop.c lib: drop DSO_SELF on inet_ntop 2019-06-13 00:05:03 +02:00
openbsd-queue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
openbsd-tree.c lib: Add const to openbsd-tree functions 2019-05-13 17:21:22 -07:00
openbsd-tree.h lib: Add const to openbsd-tree functions 2019-05-13 17:21:22 -07:00
pbr.h bgp, zebra, lib: add protocol support for iptables 2019-07-08 08:36:45 +02:00
pid_output.c lib: When we can't lock the pid file provide a meaningfull message 2018-09-22 14:18:52 -04:00
plist_int.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
plist.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
plist.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
prefix.c Merge pull request #4877 from mjstapp/dplane_neighs 2019-09-04 10:23:31 -04:00
prefix.h lib: use const in prefix_mac2str 2019-08-23 10:09:38 -04:00
printfrr.h lib/printf: add extension support 2019-06-03 16:45:01 +02:00
privs.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
privs.h *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
ptm_lib.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
ptm_lib.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
pullwr.c lib: add pull-driven data write handler 2019-08-30 19:00:45 +02:00
pullwr.h lib: add pull-driven data write handler 2019-08-30 19:00:45 +02:00
pw.h lib: a few more trivial changes for C++ compatibility 2019-02-11 22:34:12 -02:00
qobj.c lib: use DECLARE_HASH for qobj hash 2019-04-27 19:33:45 +02:00
qobj.h lib: use DECLARE_HASH for qobj hash 2019-04-27 19:33:45 +02:00
queue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
resolver.c lib/resolver: NULL out callback before call 2019-07-03 17:15:38 +02:00
resolver.h lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
ringbuf.c *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
ringbuf.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
route_types.pl lib, zebra: Fix 'show ip route' char collision 2019-01-29 20:41:36 -05:00
route_types.txt zebra: update zebra_rib for vrrp 2019-05-17 00:27:08 +00:00
routemap.c lib: rmap dep table is not correct in case of exact-match clause 2019-09-15 05:45:27 -07:00
routemap.h lib: rmap dep table is not correct in case of exact-match clause 2019-09-15 05:45:27 -07:00
sbuf.c lib: use snprintfrr() in "hidden" printfs 2019-06-12 19:35:43 +02:00
sbuf.h lib: make "%Ld" work for int64_t 2019-06-12 19:35:43 +02:00
seqlock.c lib/seqlock: add a few more comments 2019-07-31 03:33:41 +02:00
seqlock.h lib/seqlock: add a few more comments 2019-07-31 03:33:41 +02:00
sha256.c lib: Fix memset usage 2017-10-03 12:03:56 -04:00
sha256.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
sigevent.c lib: make SA_SIGINFO use unconditional 2019-07-31 03:33:41 +02:00
sigevent.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
skiplist.c Treewide: use ANSI function definitions 2019-01-24 11:21:59 +01:00
skiplist.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
smux.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
snmp.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
sockopt.c lib: On some platforms function did not return anything 2019-06-07 09:29:45 -04:00
sockopt.h lib: add support for extended TCP MD5 auth 2019-04-16 15:26:20 +00:00
sockunion.c bgpd, lib: Remove SO_MARK 2019-05-24 08:35:35 -04:00
sockunion.h bgpd, lib: Remove SO_MARK 2019-05-24 08:35:35 -04:00
spf_backoff.c lib: Remove default case statement from a enum driven switch 2018-08-23 08:36:07 -04:00
spf_backoff.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
srcdest_table.c lib: add some printfrr specifiers 2019-06-03 18:57:31 +02:00
srcdest_table.h lib: add some printfrr specifiers 2019-06-03 18:57:31 +02:00
stream.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
stream.h lib: remove deprecated stream_resize api 2019-08-22 08:52:25 -04:00
strlcat.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
strlcpy.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
subdir.am lib: add pull-driven data write handler 2019-08-30 19:00:45 +02:00
systemd.c *: reindent 2017-07-17 14:04:07 +02:00
systemd.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
table.c lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
table.h *: s/TRUE/true/, s/FALSE/false/ 2019-07-01 17:26:05 +00:00
termtable.c lib: use snprintfrr() in "hidden" printfs 2019-06-12 19:35:43 +02:00
termtable.h lib: make "%Ld" work for int64_t 2019-06-12 19:35:43 +02:00
thread.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
thread.h lib: use DECLARE_HEAP for timers instead of pqueue 2019-08-01 16:59:29 +02:00
typerb.c lib: Impelement the *_del list API. 2019-07-31 11:35:21 -04:00
typerb.h lib: Add const to _count() in new list APIs 2019-07-31 11:35:21 -04:00
typesafe.c lib: Impelement the *_del list API. 2019-07-31 11:35:21 -04:00
typesafe.h lib: Add const to _count() in new list APIs 2019-07-31 11:35:21 -04:00
vector.c lib: add vector_compact(), use after str splits 2018-06-06 16:16:12 +00:00
vector.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
version.h.in lib: add cli preprocessor for | actions 2018-06-06 16:15:34 +00:00
vlan.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
vrf_int.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
vrf.c Merge pull request #4564 from pguibert6WIND/misc_vrf_update_name 2019-09-17 07:22:22 -04:00
vrf.h Revert "Ospf missing interface handling 2" 2019-06-23 19:46:39 -04:00
vty.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
vty.h lib: make "%Ld" work for int64_t 2019-06-12 19:35:43 +02:00
vxlan.h bgpd: suppress IMET route generation if flood mode is PIM-SM 2019-04-20 08:33:20 -07:00
wheel.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
wheel.h lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
workqueue.c lib: Fix workqueue error function callback 2019-04-17 19:29:05 -04:00
workqueue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
yang_translator.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
yang_translator.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
yang_wrappers.c lib: add yang wrappers for IP prefixes 2019-09-18 13:38:28 -03:00
yang_wrappers.h lib: add yang wrappers for IP prefixes 2019-09-18 13:38:28 -03:00
yang.c lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
yang.h lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
zassert.h *: Remove cvs control points 2017-12-05 17:28:12 -05:00
zclient.c lib, zebra: add new MPLS zapi message with route replace semantics 2019-09-10 00:01:10 -03:00
zclient.h lib, zebra: add new MPLS zapi message with route replace semantics 2019-09-10 00:01:10 -03:00
zebra.h isisd: Enabling build with openssl 2019-09-04 09:39:47 -04:00