summaryrefslogtreecommitdiff
path: root/zebra
diff options
context:
space:
mode:
authorJorge Boncompte [DTI2] <jorge@dti2.net>2012-04-20 14:28:40 +0200
committerDavid Lamparter <equinox@diac24.net>2012-05-02 17:03:34 +0200
commita4c06dec1ebe41dd4444d387478500e6022e2209 (patch)
tree0270c50d6b4c1a7dec292599890e0aaaae3f99a1 /zebra
parent682ca04c4032bfbf31e51df2472345fda1ff7b2c (diff)
zebra: no need to clear memory of the netlink buffers
The memory is always written before sending. Clearing it before use slows netlink_route_multipath() down considerably and it's pretty noticeable in a full-internet table scenario loading. * zebra/rt_netlink.c: subtract bulk buffer size from clear Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net> [reworded commit message] Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/rt_netlink.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 5909131d..15475e20 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -1368,7 +1368,7 @@ netlink_route (int cmd, int family, void *dest, int length, void *gate,
char buf[NL_PKT_BUF_SIZE];
} req;
- memset (&req, 0, sizeof req);
+ memset (&req, 0, sizeof req - NL_PKT_BUF_SIZE);
bytelen = (family == AF_INET ? 4 : 16);
@@ -1443,7 +1443,7 @@ netlink_route_multipath (int cmd, struct prefix *p, struct rib *rib,
char buf[NL_PKT_BUF_SIZE];
} req;
- memset (&req, 0, sizeof req);
+ memset (&req, 0, sizeof req - NL_PKT_BUF_SIZE);
bytelen = (family == AF_INET ? 4 : 16);
@@ -1903,7 +1903,7 @@ netlink_address (int cmd, int family, struct interface *ifp,
} req;
p = ifc->address;
- memset (&req, 0, sizeof req);
+ memset (&req, 0, sizeof req - NL_PKT_BUF_SIZE);
bytelen = (family == AF_INET ? 4 : 16);