]> git.proxmox.com Git - mirror_frr.git/commit
*: use zapi_route to send/receive redistributed routes as well
authorRenato Westphal <renato@opensourcerouting.org>
Mon, 21 Aug 2017 01:10:50 +0000 (22:10 -0300)
committerRenato Westphal <renato@opensourcerouting.org>
Wed, 23 Aug 2017 23:25:45 +0000 (20:25 -0300)
commit744899219f4214398a3078874a341000a372e29d
treeb33edf26332d87c734bb68f19efb3b4d37fd5a4f
parent2ad4f0933c56483fd7a37e96beab1e02fd22afc8
*: use zapi_route to send/receive redistributed routes as well

Some differences compared to the old API:
* Now the redistributed routes are sent using address-family
  independent messages (ZEBRA_REDISTRIBUTE_ROUTE_ADD and
  ZEBRA_REDISTRIBUTE_ROUTE_DEL). This allows us to unify the ipv4/ipv6
  zclient callbacks in the client daemons and thus remove a lot of
  duplicate code;

* Now zebra sends all nexthops of the redistributed routes to the client
  daemons, not only the first one. This shouldn't have any noticeable
  performance implications and will allow us to remove an ugly exception
  we had for ldpd (which needs to know all nexthops of the redistributed
  routes). The other client daemons can simply ignore the nexthops if
  they want or consult just the first one (e.g. ospfd/ospf6d/ripd/ripngd).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
20 files changed:
babeld/babel_zebra.c
babeld/xroute.c
babeld/xroute.h
bgpd/bgp_route.c
bgpd/bgp_route.h
bgpd/bgp_zebra.c
bgpd/rfapi/vnc_zebra.c
eigrpd/eigrp_zebra.c
isisd/isis_zebra.c
ldpd/ldp_zebra.c
lib/log.c
lib/zclient.c
lib/zclient.h
nhrpd/nhrp_route.c
ospf6d/ospf6_zebra.c
ospfd/ospf_zebra.c
ripd/rip_zebra.c
ripngd/ripng_zebra.c
zebra/redistribute.c
zebra/zserv.c