diff options
| author | Marko Zec <zec@FreeBSD.org> | 2009-05-23 21:43:44 +0000 |
|---|---|---|
| committer | Marko Zec <zec@FreeBSD.org> | 2009-05-23 21:43:44 +0000 |
| commit | 37f17770e03aae332c6d186042e31ce8f226a0b5 (patch) | |
| tree | 488633605f2f07bbba417ff74314596b3bb04cf2 /sys/net/if_loop.c | |
| parent | 363b5a9a040879c3841a9e03cc185cfde35710ee (diff) | |
Notes
Diffstat (limited to 'sys/net/if_loop.c')
| -rw-r--r-- | sys/net/if_loop.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index 3319ed89379f..cc9251b1a114 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -111,9 +111,14 @@ static int vnet_loif_iattach(const void *); struct ifnet *loif; /* Used externally */ #endif +#ifdef VIMAGE +MALLOC_DEFINE(M_LO_CLONER, "lo_cloner", "lo_cloner"); +#endif + #ifndef VIMAGE_GLOBALS static const vnet_modinfo_t vnet_loif_modinfo = { .vmi_id = VNET_MOD_LOIF, + .vmi_dependson = VNET_MOD_IF_CLONE, .vmi_name = "loif", .vmi_iattach = vnet_loif_iattach }; @@ -167,7 +172,15 @@ static int vnet_loif_iattach(const void *unused __unused) INIT_VNET_NET(curvnet); V_loif = NULL; + +#ifdef VIMAGE + V_lo_cloner = malloc(sizeof(*V_lo_cloner), M_LO_CLONER, + M_WAITOK | M_ZERO); + bcopy(&lo_cloner, V_lo_cloner, sizeof(*V_lo_cloner)); + if_clone_attach(V_lo_cloner); +#else if_clone_attach(&lo_cloner); +#endif return (0); } |
