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

Function arp_mark_lle_reachable

freebsd/netinet/if_ether.c:1261–1284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1259#pragma GCC diagnostic error "-Wformat-extra-args"
1260
1261static void
1262arp_mark_lle_reachable(struct llentry *la)
1263{
1264 int canceled, wtime;
1265
1266 LLE_WLOCK_ASSERT(la);
1267
1268 la->ln_state = ARP_LLINFO_REACHABLE;
1269 EVENTHANDLER_INVOKE(lle_event, la, LLENTRY_RESOLVED);
1270
1271 if (!(la->la_flags & LLE_STATIC)) {
1272 LLE_ADDREF(la);
1273 la->la_expire = time_uptime + V_arpt_keep;
1274 wtime = V_arpt_keep - V_arp_maxtries * V_arpt_rexmit;
1275 if (wtime < 0)
1276 wtime = V_arpt_keep;
1277 canceled = callout_reset(&la->lle_timer,
1278 hz * wtime, arptimer, la);
1279 if (canceled)
1280 LLE_REMREF(la);
1281 }
1282 la->la_asked = 0;
1283 la->la_preempt = V_arp_maxtries;
1284}
1285
1286/*
1287 * Add permanent link-layer record for given interface address.

Callers 2

in_arpinputFunction · 0.85
arp_check_update_lleFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected