diff options
author | Philip Kirk <Phil.Kirk@Sun.COM> | 2008-11-06 06:47:54 -0500 |
---|---|---|
committer | Philip Kirk <Phil.Kirk@Sun.COM> | 2008-11-06 06:47:54 -0500 |
commit | b127ac411761a3d8d642d9342d9cac2785e1faaa (patch) | |
tree | 041956f138b0560132678ab9e0971bbb8dff1887 /usr/src/uts/intel | |
parent | 471fb14e1ef453ca10871d66de96105f33392fe0 (diff) | |
download | illumos-joyent-b127ac411761a3d8d642d9342d9cac2785e1faaa.tar.gz |
PSARC/2006/475 Clearview: IP Observability Devices
4085089 add a feature to enable 'snooping' of the loopback traffic
6753688 ip netinfo has no need for separate create and dispatch functions
6755448 ifconfig wedged in SIOCLIFREMOVEIF
6756483 incorrect ASSERT() in ip_delmulti[_v6]()
5092073 RFE: allow snoop to filter on zonename or zoneid
6606991 panic assertion failure !ill->ill_join_allmulti for multicast router
6760922 devname doesn't handle stale dev_t's in sdev_node cache entries
Diffstat (limited to 'usr/src/uts/intel')
-rw-r--r-- | usr/src/uts/intel/Makefile.intel.shared | 3 | ||||
-rw-r--r-- | usr/src/uts/intel/dev/Makefile | 2 | ||||
-rw-r--r-- | usr/src/uts/intel/ia32/ml/modstubs.s | 7 | ||||
-rw-r--r-- | usr/src/uts/intel/ip/ip.global-objs.debug64 | 1 | ||||
-rw-r--r-- | usr/src/uts/intel/ip/ip.global-objs.obj64 | 1 | ||||
-rw-r--r-- | usr/src/uts/intel/ipnet/Makefile | 105 | ||||
-rw-r--r-- | usr/src/uts/intel/os/device_policy | 6 | ||||
-rw-r--r-- | usr/src/uts/intel/os/minor_perm | 3 | ||||
-rw-r--r-- | usr/src/uts/intel/os/name_to_major | 3 |
9 files changed, 124 insertions, 7 deletions
diff --git a/usr/src/uts/intel/Makefile.intel.shared b/usr/src/uts/intel/Makefile.intel.shared index 84808ad5aa..0eba71bc6f 100644 --- a/usr/src/uts/intel/Makefile.intel.shared +++ b/usr/src/uts/intel/Makefile.intel.shared @@ -234,6 +234,7 @@ DRV_KMODS += intel_nb5000 DRV_KMODS += ip DRV_KMODS += ip6 DRV_KMODS += ipf +DRV_KMODS += ipnet DRV_KMODS += ippctl DRV_KMODS += ipsecah DRV_KMODS += ipsecesp @@ -643,7 +644,7 @@ GENUNIX_KMODS += genunix # delivered with a released system. However, during development # it is convenient to build and install the SVVS kernel modules. # -SVVS_KMODS += lmodb lmode lmodr lmodt lo tidg tivc tmux +SVVS_KMODS += lmodb lmode lmodr lmodt svvslo tidg tivc tmux SVVS += svvs diff --git a/usr/src/uts/intel/dev/Makefile b/usr/src/uts/intel/dev/Makefile index 78e6685df7..a2255e0197 100644 --- a/usr/src/uts/intel/dev/Makefile +++ b/usr/src/uts/intel/dev/Makefile @@ -23,8 +23,6 @@ # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" -# # This makefile drives the production of the dev file system # kernel module. # diff --git a/usr/src/uts/intel/ia32/ml/modstubs.s b/usr/src/uts/intel/ia32/ml/modstubs.s index a1352a260b..038b90918e 100644 --- a/usr/src/uts/intel/ia32/ml/modstubs.s +++ b/usr/src/uts/intel/ia32/ml/modstubs.s @@ -1330,6 +1330,13 @@ fcnname/**/_info: \ END_MODULE(dcopy); #endif +#ifndef IPNET_MODULE + MODULE(ipnet,drv); + STUB(ipnet, ipnet_if_getdev, nomod_zero); + STUB(ipnet, ipnet_walk_if, nomod_zero); + END_MODULE(ipnet); +#endif + / this is just a marker for the area of text that contains stubs ENTRY_NP(stubs_end) diff --git a/usr/src/uts/intel/ip/ip.global-objs.debug64 b/usr/src/uts/intel/ip/ip.global-objs.debug64 index 01f8be179d..5854497325 100644 --- a/usr/src/uts/intel/ip/ip.global-objs.debug64 +++ b/usr/src/uts/intel/ip/ip.global-objs.debug64 @@ -337,7 +337,6 @@ udp_random_anon_port udp_rinitv4 udp_rinitv6 udp_valid_levels_arr -udp_version udp_winit udpinfov4 udpinfov6 diff --git a/usr/src/uts/intel/ip/ip.global-objs.obj64 b/usr/src/uts/intel/ip/ip.global-objs.obj64 index 17712b7c14..065904b585 100644 --- a/usr/src/uts/intel/ip/ip.global-objs.obj64 +++ b/usr/src/uts/intel/ip/ip.global-objs.obj64 @@ -326,7 +326,6 @@ udp_random_anon_port udp_rinitv4 udp_rinitv6 udp_valid_levels_arr -udp_version udp_winit udpinfov4 udpinfov6 diff --git a/usr/src/uts/intel/ipnet/Makefile b/usr/src/uts/intel/ipnet/Makefile new file mode 100644 index 0000000000..a4be7c1ee6 --- /dev/null +++ b/usr/src/uts/intel/ipnet/Makefile @@ -0,0 +1,105 @@ +# +# 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. +# +# This makefile drives the production of the ipnet driver +# kernel module. +# +# intel architecture dependent +# + +# +# Path to the base of the uts directory tree (usually /usr/src/uts). +# + +UTSBASE = ../.. + +# +# Define the module and object file sets. +# + +MODULE = ipnet +OBJECTS = $(IPNET_OBJS:%=$(OBJS_DIR)/%) +LINTS = $(IPNET_OBJS:%.o=$(LINTS_DIR)/%.ln) +ROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) +CONF_SRCDIR = $(UTSBASE)/common/inet/ipnet + +# +# Include common rules. +# + +include $(UTSBASE)/intel/Makefile.intel + +# +# Define targets +# + +ALL_TARGET = $(BINARY) $(SRC_CONFFILE) +LINT_TARGET = $(MODULE).lint +INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) + +# +# lint pass one enforcement +# + +CFLAGS += $(CCVERBOSE) + +# +# STREAMS API limitations force us to turn off these lint checks. +# +LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN +LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW + +# +# Depends on ip, neti, and hook. +# +LDFLAGS += -dy -Ndrv/ip -Nmisc/neti -Nmisc/hook + +# +# Default build targets. +# + +.KEEP_STATE: + +def: $(DEF_DEPS) + +all: $(ALL_DEPS) + +clean: $(CLEAN_DEPS) + +clobber: $(CLOBBER_DEPS) + +lint: $(LINT_DEPS) + +modlintlib: $(MODLINTLIB_DEPS) + +clean.lint: $(CLEAN_LINT_DEPS) + +install: $(INSTALL_DEPS) + +# +# Include common targets. +# + +include $(UTSBASE)/intel/Makefile.targ diff --git a/usr/src/uts/intel/os/device_policy b/usr/src/uts/intel/os/device_policy index 132881289b..6b8060838d 100644 --- a/usr/src/uts/intel/os/device_policy +++ b/usr/src/uts/intel/os/device_policy @@ -65,6 +65,12 @@ softmac read_priv_set=net_rawaccess write_priv_set=net_rawaccess # Virtual network interface access permission # vni read_priv_set=net_rawaccess write_priv_set=net_rawaccess + +# +# IP observability device access permission +# +ipnet read_priv_set=net_observability write_priv_set=net_observability + # # Disk devices. # diff --git a/usr/src/uts/intel/os/minor_perm b/usr/src/uts/intel/os/minor_perm index f37fe98a00..3cb8e090b6 100644 --- a/usr/src/uts/intel/os/minor_perm +++ b/usr/src/uts/intel/os/minor_perm @@ -43,9 +43,9 @@ fasttrap:fasttrap 0666 root sys fbt:fbt 0644 root sys fd:* 0666 root sys id:* 0640 root sys +ipnet:lo0 0666 root sys kstat:* 0666 root sys ksyms:* 0666 root sys -lo:* 0666 root sys lockstat:* 0644 root sys lofi:* 0600 root sys lofi:ctl 0644 root sys @@ -73,6 +73,7 @@ sgen:* 0600 root sys cmdk:* 0640 root sys st:* 0666 root sys sdt:sdt 0644 root sys +svvslo:* 0666 root sys sy:tty 0666 root tty sysmsg:msglog 0600 root sys sysmsg:sysmsg 0600 root sys diff --git a/usr/src/uts/intel/os/name_to_major b/usr/src/uts/intel/os/name_to_major index c30f70c0b8..e666846c08 100644 --- a/usr/src/uts/intel/os/name_to_major +++ b/usr/src/uts/intel/os/name_to_major @@ -23,7 +23,7 @@ udp 41 tcp 42 rts 43 arp 44 -lo 46 +svvslo 46 tivc 47 tidg 48 tmux 49 @@ -153,3 +153,4 @@ fm 257 amd_iommu 258 xpvtap 259 nulldriver 260 +ipnet 261 |