Lines Matching defs:proto_family
68 protocol_family_t proto_family;
348 proto_plumber_find(protocol_family_t proto_family, ifnet_family_t if_family)
353 if ((mod->proto_family == (proto_family & 0xffff)) &&
366 struct proto_family_str *proto_family;
373 TAILQ_FOREACH(proto_family, &proto_family_head, proto_fam_next) {
374 if (proto_family->proto_family == protocol_family &&
375 proto_family->if_family == interface_family) {
381 proto_family = (struct proto_family_str *)
383 if (!proto_family) {
388 bzero(proto_family, sizeof (struct proto_family_str));
389 proto_family->proto_family = protocol_family;
390 proto_family->if_family = interface_family & 0xffff;
391 proto_family->attach_proto = attach;
392 proto_family->detach_proto = detach;
394 TAILQ_INSERT_TAIL(&proto_family_head, proto_family, proto_fam_next);
403 struct proto_family_str *proto_family;
407 proto_family = proto_plumber_find(protocol_family, interface_family);
408 if (proto_family == NULL) {
413 TAILQ_REMOVE(&proto_family_head, proto_family, proto_fam_next);
414 FREE(proto_family, M_IFADDR);
422 struct proto_family_str *proto_family;
426 proto_family = proto_plumber_find(protocol_family, ifp->if_family);
427 if (proto_family == NULL) {
432 ret = proto_family->attach_proto(ifp, protocol_family);
442 struct proto_family_str *proto_family;
447 proto_family = proto_plumber_find(protocol_family, ifp->if_family);
448 if (proto_family != NULL && proto_family->detach_proto)
449 proto_family->detach_proto(ifp, protocol_family);