summaryrefslogtreecommitdiff
path: root/lib/zclient.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2020-08-10 08:39:51 -0400
committerGitHub <noreply@github.com>2020-08-10 08:39:51 -0400
commit8e3ac40d2cb5f38a2804d1b19eeb77aeebd7c7af (patch)
treeb543b31173d45d711fd229c83c50767e764f2494 /lib/zclient.c
parent84a98cedfb3efac93aef1058730bf1e6ca585fcc (diff)
parent98a3fb0ab9b92443c0c92e073d3f184b88dcbfc6 (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.c18
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,