diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-08-10 08:39:51 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-10 08:39:51 -0400 |
| commit | 8e3ac40d2cb5f38a2804d1b19eeb77aeebd7c7af (patch) | |
| tree | b543b31173d45d711fd229c83c50767e764f2494 /lib/zclient.c | |
| parent | 84a98cedfb3efac93aef1058730bf1e6ca585fcc (diff) | |
| parent | 98a3fb0ab9b92443c0c92e073d3f184b88dcbfc6 (diff) | |
Merge pull request #6483 from sylane/router-id-v6
zebra: add IPv6 router-id
Diffstat (limited to 'lib/zclient.c')
| -rw-r--r-- | lib/zclient.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/zclient.c b/lib/zclient.c index eb62350f4f..250d697bb4 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -436,7 +436,8 @@ void zclient_send_reg_requests(struct zclient *zclient, vrf_id_t vrf_id) vrf_id); /* We need router-id information. */ - zebra_message_send(zclient, ZEBRA_ROUTER_ID_ADD, vrf_id); + zclient_send_router_id_update(zclient, ZEBRA_ROUTER_ID_ADD, AFI_IP, + vrf_id); /* We need interface information. */ zebra_message_send(zclient, ZEBRA_INTERFACE_ADD, vrf_id); @@ -503,7 +504,8 @@ void zclient_send_dereg_requests(struct zclient *zclient, vrf_id_t vrf_id) vrf_id); /* We need router-id information. */ - zebra_message_send(zclient, ZEBRA_ROUTER_ID_DELETE, vrf_id); + zclient_send_router_id_update(zclient, ZEBRA_ROUTER_ID_DELETE, AFI_IP, + vrf_id); zebra_message_send(zclient, ZEBRA_INTERFACE_DELETE, vrf_id); @@ -554,6 +556,18 @@ void zclient_send_dereg_requests(struct zclient *zclient, vrf_id_t vrf_id) } } +int zclient_send_router_id_update(struct zclient *zclient, + zebra_message_types_t type, afi_t afi, + vrf_id_t vrf_id) +{ + struct stream *s = zclient->obuf; + stream_reset(s); + zclient_create_header(s, type, vrf_id); + stream_putw(s, afi); + stream_putw_at(s, 0, stream_get_endp(s)); + return zclient_send_message(zclient); +} + /* Send request to zebra daemon to start or stop RA. */ void zclient_send_interface_radv_req(struct zclient *zclient, vrf_id_t vrf_id, struct interface *ifp, int enable, |
