From 30564237282c497649f04b20e791de420004e3a5 Mon Sep 17 00:00:00 2001 From: Octavian Purdila Date: Fri, 10 Dec 2010 16:59:50 +0200 Subject: [PATCH] iproute2: initialize the ll_map only once Avoid initializing the LL map (which involves a costly RTNL dump) multiple times. This can happen when running in batch mode. Signed-off-by: Octavian Purdila --- lib/ll_map.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/ll_map.c b/lib/ll_map.c index afd5e357..b8a34830 100644 --- a/lib/ll_map.c +++ b/lib/ll_map.c @@ -185,6 +185,11 @@ unsigned ll_name_to_index(const char *name) int ll_init_map(struct rtnl_handle *rth) { + static int initialized; + + if (initialized) + return 0; + if (rtnl_wilddump_request(rth, AF_UNSPEC, RTM_GETLINK) < 0) { perror("Cannot send dump request"); exit(1); @@ -194,5 +199,8 @@ int ll_init_map(struct rtnl_handle *rth) fprintf(stderr, "Dump terminated\n"); exit(1); } + + initialized = 1; + return 0; }