diff options
author | Darren Reed <Darren.Reed@Sun.COM> | 2008-09-08 14:46:50 -0700 |
---|---|---|
committer | Darren Reed <Darren.Reed@Sun.COM> | 2008-09-08 14:46:50 -0700 |
commit | 7ddc9b1afd18f260b9fb78ec7732facd91769131 (patch) | |
tree | 1a305ae7471e9362c1ba0ea3d32834448059eb00 /usr/src/uts/common/io/neti_mod.c | |
parent | 7739299d04f7910358ca2ad79106f174022a9ab2 (diff) | |
download | illumos-gate-7ddc9b1afd18f260b9fb78ec7732facd91769131.tar.gz |
PSARC/2008/219 Committed API for packet interception
PSARC/2008/335 Corrections for Committed API for packet interception
PSARC/2008/557 Revision to net instance notification API
4844507 Solaris needs stable interface for packet filtering software
6705155 ipf_stack_init() assumes kmem_alloc with KM_NOSLEEP never fails
Diffstat (limited to 'usr/src/uts/common/io/neti_mod.c')
-rw-r--r-- | usr/src/uts/common/io/neti_mod.c | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/neti_mod.c b/usr/src/uts/common/io/neti_mod.c new file mode 100644 index 0000000000..ad0bcbc2e4 --- /dev/null +++ b/usr/src/uts/common/io/neti_mod.c @@ -0,0 +1,80 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#include <sys/param.h> +#include <sys/modctl.h> +#include <sys/neti.h> + + +/* + * Module linkage information for the kernel. + */ +static struct modldrv modlmisc = { + &mod_miscops, /* drv_modops */ + "netinfo module", /* drv_linkinfo */ +}; + +static struct modlinkage modlinkage = { + MODREV_1, /* ml_rev */ + &modlmisc, /* ml_linkage */ + NULL +}; + +/* + * Module entry points. + */ +int +_init(void) +{ + int error; + + neti_init(); + error = mod_install(&modlinkage); + if (error != 0) + neti_fini(); + + return (error); +} + + +int +_fini(void) +{ + int error; + + error = mod_remove(&modlinkage); + if (error == 0) + neti_fini(); + + return (error); +} + + +int +_info(struct modinfo *modinfop) +{ + + return (mod_info(&modlinkage, modinfop)); +} |