MCPcopy Create free account
hub / github.com/F-Stack/f-stack / update_global_map

Function update_global_map

tools/netstat/nhgrp.c:282–309  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

280}
281
282static void
283update_global_map(struct nhop_external *nh)
284{
285 char iface_name[128];
286 char gw_addr[144];
287 struct nhop_addrs *na;
288 struct sockaddr *sa_gw;
289
290 na = (struct nhop_addrs *)((char *)nh + nh->nh_len);
291 sa_gw = (struct sockaddr *)((char *)na + na->gw_sa_off);
292
293 memset(iface_name, 0, sizeof(iface_name));
294 if (nh->ifindex < (uint32_t)ifmap_size) {
295 strlcpy(iface_name, ifmap[nh->ifindex].ifname,
296 sizeof(iface_name));
297 if (*iface_name == '\0')
298 strlcpy(iface_name, "---", sizeof(iface_name));
299 }
300
301 if (nh->nh_flags & NHF_GATEWAY) {
302 const char *cp;
303 cp = fmt_sockaddr(sa_gw, NULL, RTF_HOST);
304 strlcpy(gw_addr, cp, sizeof(gw_addr));
305 } else
306 snprintf(gw_addr, sizeof(gw_addr), "%s/resolve", iface_name);
307
308 nhop_map_update(&global_nhop_map, nh->nh_idx, gw_addr, iface_name);
309}
310
311static void
312prepare_nh_map(int fibnum, int af)

Callers 1

prepare_nh_mapFunction · 0.85

Calls 5

memsetFunction · 0.85
fmt_sockaddrFunction · 0.85
snprintfFunction · 0.85
nhop_map_updateFunction · 0.85
strlcpyFunction · 0.50

Tested by

no test coverage detected