summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel
diff options
context:
space:
mode:
authorPhilip Kirk <Phil.Kirk@Sun.COM>2008-11-06 06:47:54 -0500
committerPhilip Kirk <Phil.Kirk@Sun.COM>2008-11-06 06:47:54 -0500
commitb127ac411761a3d8d642d9342d9cac2785e1faaa (patch)
tree041956f138b0560132678ab9e0971bbb8dff1887 /usr/src/uts/intel
parent471fb14e1ef453ca10871d66de96105f33392fe0 (diff)
downloadillumos-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.shared3
-rw-r--r--usr/src/uts/intel/dev/Makefile2
-rw-r--r--usr/src/uts/intel/ia32/ml/modstubs.s7
-rw-r--r--usr/src/uts/intel/ip/ip.global-objs.debug641
-rw-r--r--usr/src/uts/intel/ip/ip.global-objs.obj641
-rw-r--r--usr/src/uts/intel/ipnet/Makefile105
-rw-r--r--usr/src/uts/intel/os/device_policy6
-rw-r--r--usr/src/uts/intel/os/minor_perm3
-rw-r--r--usr/src/uts/intel/os/name_to_major3
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