diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2014-04-24 17:41:43 +0200 |
|---|---|---|
| committer | Christian Franke <chris@opensourcerouting.org> | 2017-01-30 13:47:04 +0100 |
| commit | 3c7c91d0bd04d4db0a47db5717d36671ecc96a1b (patch) | |
| tree | 54872d68a9d2b69afc304c5b3676282cddcb8d75 /zebra/kernel_socket.c | |
| parent | ba287c33cd783d365768b5e0c3261246e335a01b (diff) | |
zebra: receive ZAPI IPv6 source prefix
Check and read the IPv6 source prefix on ZAPI messages, and pass it down
to the RIB functions (which do nothing with it yet.) Since the RIB
functions now all have a new extra argument, this also updates the
kernel route read functions to supply NULL.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'zebra/kernel_socket.c')
| -rw-r--r-- | zebra/kernel_socket.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c index fd059dfee7..20a0472195 100644 --- a/zebra/kernel_socket.c +++ b/zebra/kernel_socket.c @@ -992,17 +992,17 @@ rtm_read (struct rt_msghdr *rtm) */ if (rtm->rtm_type == RTM_CHANGE) rib_delete (AFI_IP, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL, - 0, zebra_flags, &p, NULL, 0, 0); + 0, zebra_flags, &p, NULL, NULL, 0, 0); union g_addr ggate = { .ipv4 = gate.sin.sin_addr }; if (rtm->rtm_type == RTM_GET || rtm->rtm_type == RTM_ADD || rtm->rtm_type == RTM_CHANGE) rib_add (AFI_IP, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL, 0, zebra_flags, - &p, &ggate, NULL, 0, 0, 0, 0, 0); + &p, NULL, &ggate, NULL, 0, 0, 0, 0, 0); else rib_delete (AFI_IP, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL, - 0, zebra_flags, &p, &ggate, 0, 0); + 0, zebra_flags, &p, NULL, &ggate, 0, 0); } if (dest.sa.sa_family == AF_INET6) { @@ -1034,18 +1034,18 @@ rtm_read (struct rt_msghdr *rtm) */ if (rtm->rtm_type == RTM_CHANGE) rib_delete (AFI_IP6, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL, - 0, zebra_flags, &p, NULL, 0, 0); + 0, zebra_flags, &p, NULL, NULL, 0, 0); union g_addr ggate = { .ipv6 = gate.sin6.sin6_addr }; if (rtm->rtm_type == RTM_GET || rtm->rtm_type == RTM_ADD || rtm->rtm_type == RTM_CHANGE) rib_add (AFI_IP6, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL, - 0, zebra_flags, &p, &ggate, NULL, ifindex, + 0, zebra_flags, &p, NULL, &ggate, NULL, ifindex, 0, 0, 0, 0); else rib_delete (AFI_IP6, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL, - 0, zebra_flags, &p, &ggate, ifindex, 0); + 0, zebra_flags, &p, NULL, &ggate, ifindex, 0); } } |
