Lines Matching refs:link
136 link_p link; /* link where addr can be found */ member
170 static void ng_bridge_free_link(link_p link);
172 static int ng_bridge_put(priv_p priv, const u_char *addr, link_p link);
174 static void ng_bridge_remove_hosts(priv_p priv, link_p link);
389 link_p link; in ng_bridge_newhook() local
428 link = malloc(sizeof(*link), M_NETGRAPH_BRIDGE, M_NOWAIT | M_ZERO); in ng_bridge_newhook()
429 if (link == NULL) { in ng_bridge_newhook()
435 link->stats.f = counter_u64_alloc(M_NOWAIT); \ in ng_bridge_newhook()
436 if (link->stats.f == NULL) \ in ng_bridge_newhook()
454 link->hook = hook; in ng_bridge_newhook()
456 link->learnMac = 0; in ng_bridge_newhook()
457 link->sendUnknown = 1; in ng_bridge_newhook()
461 link->learnMac = 1; in ng_bridge_newhook()
462 link->sendUnknown = priv->sendUnknown; in ng_bridge_newhook()
465 NG_HOOK_SET_PRIVATE(hook, link); in ng_bridge_newhook()
471 ng_bridge_free_link(link); in ng_bridge_newhook()
498 ng_bridge_free_link(link_p link) in ng_bridge_free_link() argument
500 counter_u64_free(link->stats.recvOctets); in ng_bridge_free_link()
501 counter_u64_free(link->stats.recvPackets); in ng_bridge_free_link()
502 counter_u64_free(link->stats.recvMulticasts); in ng_bridge_free_link()
503 counter_u64_free(link->stats.recvBroadcasts); in ng_bridge_free_link()
504 counter_u64_free(link->stats.recvUnknown); in ng_bridge_free_link()
505 counter_u64_free(link->stats.recvRunts); in ng_bridge_free_link()
506 counter_u64_free(link->stats.recvInvalid); in ng_bridge_free_link()
507 counter_u64_free(link->stats.xmitOctets); in ng_bridge_free_link()
508 counter_u64_free(link->stats.xmitPackets); in ng_bridge_free_link()
509 counter_u64_free(link->stats.xmitMulticasts); in ng_bridge_free_link()
510 counter_u64_free(link->stats.xmitBroadcasts); in ng_bridge_free_link()
511 counter_u64_free(link->stats.loopDrops); in ng_bridge_free_link()
512 counter_u64_free(link->stats.memoryFailures); in ng_bridge_free_link()
513 free(link, M_NETGRAPH_BRIDGE); in ng_bridge_free_link()
579 link_p link; in ng_bridge_rcvmsg() local
600 link = NG_HOOK_PRIVATE(hook); in ng_bridge_rcvmsg()
607 sizeof(link->stats), M_NOWAIT); in ng_bridge_rcvmsg()
613 #define FETCH(x) rs->x = counter_u64_fetch(link->stats.x) in ng_bridge_rcvmsg()
626 rs->loopDetects = link->stats.loopDetects; in ng_bridge_rcvmsg()
631 ng_bridge_clear_link_stats(&link->stats); in ng_bridge_rcvmsg()
656 NG_HOOK_NAME(host->link->hook), in ng_bridge_rcvmsg()
862 (host != NULL && host->link != ctx.incoming)) { in ng_bridge_rcvdata()
885 if (host != NULL && host->link != ctx.incoming) { in ng_bridge_rcvdata()
902 link_p destLink = host->link; in ng_bridge_rcvdata()
971 link_p link = NG_HOOK_PRIVATE(hook); in ng_bridge_disconnect() local
976 ng_bridge_remove_hosts(priv, link); in ng_bridge_disconnect()
979 ng_bridge_free_link(link); in ng_bridge_disconnect()
1026 ng_bridge_put(priv_p priv, const u_char *addr, link_p link) in ng_bridge_put() argument
1033 if (host->link == link) in ng_bridge_put()
1038 host->link = link; in ng_bridge_put()
1051 NG_HOOK_NAME(link->hook)); in ng_bridge_put()
1054 link->loopCount = priv->conf.loopTimeout; in ng_bridge_put()
1055 link->stats.loopDetects++; in ng_bridge_put()
1058 ng_bridge_remove_hosts(priv, link); in ng_bridge_put()
1067 host->link = link; in ng_bridge_put()
1161 ng_bridge_remove_hosts(priv_p priv, link_p link) in ng_bridge_remove_hosts() argument
1171 if (link == NULL || host->link == link) { in ng_bridge_remove_hosts()
1190 link_p link = NG_HOOK_PRIVATE(hook); in ng_bridge_unmute() local
1195 if (link->loopCount != 0) { in ng_bridge_unmute()
1196 link->loopCount--; in ng_bridge_unmute()
1197 if (link->loopCount == 0 && priv->conf.debugLevel >= 2) { in ng_bridge_unmute()