summaryrefslogtreecommitdiff
path: root/zebra/kernel_netlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/kernel_netlink.c')
-rw-r--r--zebra/kernel_netlink.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/zebra/kernel_netlink.c b/zebra/kernel_netlink.c
index e121228ac8..5d64f57b3e 100644
--- a/zebra/kernel_netlink.c
+++ b/zebra/kernel_netlink.c
@@ -1059,7 +1059,7 @@ static int nl_batch_read_resp(struct nl_batch *bth)
{
struct nlmsghdr *h;
struct sockaddr_nl snl;
- struct msghdr msg;
+ struct msghdr msg = {};
int status, seq;
const struct nlsock *nl;
struct zebra_dplane_ctx *ctx;
@@ -1329,6 +1329,7 @@ static enum netlink_msg_status nl_put_msg(struct nl_batch *bth,
case DPLANE_OP_SYS_ROUTE_DELETE:
case DPLANE_OP_ROUTE_NOTIFY:
case DPLANE_OP_LSP_NOTIFY:
+ case DPLANE_OP_BR_PORT_UPDATE:
return FRR_NETLINK_SUCCESS;
case DPLANE_OP_NONE:
@@ -1470,6 +1471,9 @@ void kernel_init(struct zebra_ns *zns)
one = 1;
ret = setsockopt(zns->netlink_dplane.sock, SOL_NETLINK, NETLINK_CAP_ACK,
&one, sizeof(one));
+ if (ret < 0)
+ zlog_notice(
+ "Registration for reduced ACK packet size failed, probably running an early kernel");
#endif
/* Register kernel socket. */
@@ -1506,7 +1510,7 @@ void kernel_init(struct zebra_ns *zns)
void kernel_terminate(struct zebra_ns *zns, bool complete)
{
- THREAD_READ_OFF(zns->t_netlink);
+ thread_cancel(&zns->t_netlink);
if (zns->netlink.sock >= 0) {
close(zns->netlink.sock);