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

Function mli_alloc_locked

freebsd/netinet6/mld6.c:501–528  ·  view source on GitHub ↗

* VIMAGE: assume curvnet set by caller. */

Source from the content-addressed store, hash-verified

499 * VIMAGE: assume curvnet set by caller.
500 */
501static struct mld_ifsoftc *
502mli_alloc_locked(/*const*/ struct ifnet *ifp)
503{
504 struct mld_ifsoftc *mli;
505
506 MLD_LOCK_ASSERT();
507
508 mli = malloc(sizeof(struct mld_ifsoftc), M_MLD, M_NOWAIT|M_ZERO);
509 if (mli == NULL)
510 goto out;
511
512 mli->mli_ifp = ifp;
513 mli->mli_version = MLD_VERSION_2;
514 mli->mli_flags = 0;
515 mli->mli_rv = MLD_RV_INIT;
516 mli->mli_qi = MLD_QI_INIT;
517 mli->mli_qri = MLD_QRI_INIT;
518 mli->mli_uri = MLD_URI_INIT;
519 mbufq_init(&mli->mli_gq, MLD_MAX_RESPONSE_PACKETS);
520
521 LIST_INSERT_HEAD(&V_mli_head, mli, mli_link);
522
523 CTR2(KTR_MLD, "allocate mld_ifsoftc for ifp %p(%s)",
524 ifp, if_name(ifp));
525
526out:
527 return (mli);
528}
529
530/*
531 * Hook for ifdetach.

Callers 1

mld_domifattachFunction · 0.85

Calls 2

mallocFunction · 0.85
mbufq_initFunction · 0.50

Tested by

no test coverage detected