From a6473ede5c5cd6b3f3bb0746e13586a7ac961650 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 28 Aug 2020 16:35:06 +0200 Subject: [PATCH] MINOR: sock: add interface and namespace length to xfer_sock_list This will ease and speed up comparisons in FD lookups. --- include/haproxy/sock-t.h | 2 ++ src/haproxy.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/haproxy/sock-t.h b/include/haproxy/sock-t.h index 999c16f1d..ee803abbd 100644 --- a/include/haproxy/sock-t.h +++ b/include/haproxy/sock-t.h @@ -33,6 +33,8 @@ struct xfer_sock_list { int options; /* socket options as LI_O_* */ char *iface; char *namespace; + int if_namelen; + int ns_namelen; struct xfer_sock_list *prev; struct xfer_sock_list *next; struct sockaddr_storage addr; diff --git a/src/haproxy.c b/src/haproxy.c index 83812695e..7eb5c0e9a 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1275,6 +1275,7 @@ static int get_old_sockets(const char *unixsocket) } memcpy(xfer_sock->namespace, &tmpbuf[curoff], len); xfer_sock->namespace[len] = 0; + xfer_sock->ns_namelen = len; curoff += len; } if (curoff >= maxoff) { @@ -1295,6 +1296,7 @@ static int get_old_sockets(const char *unixsocket) } memcpy(xfer_sock->iface, &tmpbuf[curoff], len); xfer_sock->iface[len] = 0; + xfer_sock->if_namelen = len; curoff += len; } if (curoff + sizeof(int) > maxoff) {