summaryrefslogtreecommitdiff
path: root/zebra/kernel_socket.c
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2017-12-08 19:06:34 +0100
committerPhilippe Guibert <philippe.guibert@6wind.com>2018-02-27 11:11:24 +0100
commitfe533c564e1901ee6b767708345abb52a56056af (patch)
tree6837eb93d5e7e0ea4edf93286e4cf785c94a2868 /zebra/kernel_socket.c
parentc17d483845c4b772270cade18f2ce5a5e14bc14e (diff)
zebra: socket operations stick to namespace if necessary
Upon following calls: interface poll, address poll, route poll, and ICMPv6 handling, each new Namespace is being parsed. For that, the socket operations need to switch from one NS to one other, to get the necessary information. As of now, there is a crash when dumping interfaces, through show running-config. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'zebra/kernel_socket.c')
-rw-r--r--zebra/kernel_socket.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index 4d888d8069..3b28a9b242 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -1384,7 +1384,8 @@ static void routing_socket(struct zebra_ns *zns)
if (zserv_privs.change(ZPRIVS_RAISE))
zlog_err("routing_socket: Can't raise privileges");
- routing_sock = socket(AF_ROUTE, SOCK_RAW, 0);
+ routing_sock = ns_socket(AF_ROUTE, SOCK_RAW,
+ 0, (ns_id_t)zns->ns->ns_id);
if (routing_sock < 0) {
if (zserv_privs.change(ZPRIVS_LOWER))