diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-09-18 23:55:34 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-09-19 13:34:06 -0400 |
| commit | b0b69e59f463b696d0e20f30c46c59c9cf0044b1 (patch) | |
| tree | 479eb980f6eb740d6399daa383a20d175a93ff0f /lib/zclient.c | |
| parent | ddbf3e60604019d4b38d51226700e2244cc531b6 (diff) | |
*: Convert interface_down to interface down callback
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'lib/zclient.c')
| -rw-r--r-- | lib/zclient.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/zclient.c b/lib/zclient.c index a8e5e0290b..0540b129b5 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -1605,6 +1605,19 @@ static void zclient_interface_up(struct zclient *zclient, vrf_id_t vrf_id) if_up_via_zapi(ifp); } +static void zclient_interface_down(struct zclient *zclient, vrf_id_t vrf_id) +{ + struct interface *ifp; + struct stream *s = zclient->ibuf; + + ifp = zebra_interface_state_read(s, vrf_id); + + if (!ifp) + return; + + if_down_via_zapi(ifp); +} + static void link_params_set_value(struct stream *s, struct if_link_params *iflp) { @@ -2838,9 +2851,7 @@ static int zclient_read(struct thread *thread) zclient_interface_up(zclient, vrf_id); break; case ZEBRA_INTERFACE_DOWN: - if (zclient->interface_down) - (*zclient->interface_down)(command, zclient, length, - vrf_id); + zclient_interface_down(zclient, vrf_id); break; case ZEBRA_INTERFACE_VRF_UPDATE: if (zclient->interface_vrf_update) |
