summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/net
diff options
context:
space:
mode:
authorSebastien Roy <Sebastien.Roy@Sun.COM>2009-09-22 22:04:45 -0400
committerSebastien Roy <Sebastien.Roy@Sun.COM>2009-09-22 22:04:45 -0400
commit2b24ab6b3865caeede9eeb9db6b83e1d89dcd1ea (patch)
tree72c0d7d4e1c44843a86bab6e3ed6f82cfa7356af /usr/src/uts/common/net
parent51fc88a818087605a0e5f11eddb8b66576f72c23 (diff)
downloadillumos-joyent-2b24ab6b3865caeede9eeb9db6b83e1d89dcd1ea.tar.gz
PSARC 2009/373 Clearview IP Tunneling
PSARC 2009/410 Datalink Administration from Non-Global Zones 6858533 Clearview IP Tunneling 4861777 *snoop* cannot snoop on tunnel interfaces 5010680 M_IOCTL interface between ip and tun is horribly wrong 5029727 tun prints bogus debug messages when receiving multicast packets on 6to4 tunnels 6835873 dlpi_walk() silently fails in an exclusive zone 4152864 must not allow two tunnels to have the same tsrc/tdst pair 6855902 link and flow kstats are too promiscuous 6218826 need to be able to tunnel into a zone 4505468 network interface names can confuse, lie, and deceive 4524756 tun_wproc() takes up too much stack 6417373 tun_wproc_mdata assertion failures 4627970 scalability problems with IP in IP tunnels 4674797 ifparse_ifspec() will not correctly parse ipv6 tunnels 6509231 dladm should show links in exclusive stack zone 4793233 tun driver should include addr in DL_PHYS_ADDR_ACK for non-zero lengths 6795831 ZONE_*_DATALINK syscalls should take datalink_id_t as argument 6791472 mac module doesn't allow MAC addresses < 6 bytes 6618091 Race condition trips ASSERT() in tun.c's SIOCSLIFNAME path 6837580 bogus mi_active check in mac_set_mtu() 6868083 libinetutil: ofmt_open()'s template argument should be const 6870313 libdladm: needless dladm_init_linkprop() in i_dladm_aggr_up() 6872221 panic in dls_devnet_close() if "mtu" property is being set 4289774 Change to the interface-id does not change IPv6 link-local address 6873561 unable to create links with 31 character link names 6874666 changing a link property can accidentally destroy it 6874682 removing a link attribute corrupts the attribute list 6875167 IPCL_ISV6 conn flag is set but never used 6881764 itp reference leak in ipsec_construct_inverse_acquire() 6881951 dladm delete-vlan can no longer delete persistent-only VLANs --HG-- rename : usr/src/uts/common/inet/tun.h => usr/src/uts/common/inet/iptun.h rename : usr/src/uts/common/inet/ip/tun.c => usr/src/uts/common/inet/iptun/iptun.c rename : usr/src/uts/intel/tun/Makefile => usr/src/uts/intel/iptun/Makefile rename : usr/src/uts/sparc/tun/Makefile => usr/src/uts/sparc/iptun/Makefile
Diffstat (limited to 'usr/src/uts/common/net')
-rw-r--r--usr/src/uts/common/net/if.h48
-rw-r--r--usr/src/uts/common/net/if_types.h6
2 files changed, 4 insertions, 50 deletions
diff --git a/usr/src/uts/common/net/if.h b/usr/src/uts/common/net/if.h
index 602fe7c291..cab4f6ba60 100644
--- a/usr/src/uts/common/net/if.h
+++ b/usr/src/uts/common/net/if.h
@@ -681,54 +681,6 @@ typedef struct ifa_msghdr {
int ifam_metric; /* value of ipif_metric */
} ifa_msghdr_t;
-/* currently tunnels only support IPv4 or IPv6 */
-enum ifta_proto {
- IFTAP_INVALID,
- IFTAP_IPV4,
- IFTAP_IPV6
-};
-
-#define IFTUN_SECINFOLEN 8 /* In units of 32-bit words. */
-#define IFTUN_VERSION 1 /* Current version number. */
-
-/*
- * Used by tunneling module to get/set a tunnel parameters using
- * SIOCTUN[SG]PARAM.
- *
- * There is a version number and an array of uint32_t at the end of this
- * ioctl because in a perfect world, the ipsec_req_t would be inside
- * tun_addreq. Since this file is independent of IP (and IPsec), I have to
- * just leave room there, and have the appropriate handlers deal with the
- * security information.
- *
- * In the future, the sockaddr types and the ta_vers could be used together
- * to determine the nature of the security information that is at the end
- * of this ioctl.
- */
-struct iftun_req {
- char ifta_lifr_name[LIFNAMSIZ]; /* if name */
- struct sockaddr_storage ifta_saddr; /* source address */
- struct sockaddr_storage ifta_daddr; /* destination address */
- uint_t ifta_flags; /* See below */
- /* IP version information is read only */
- enum ifta_proto ifta_upper; /* IP version above tunnel */
- enum ifta_proto ifta_lower; /* IP version below tunnel */
- uint_t ifta_vers; /* Version number */
- uint32_t ifta_secinfo[IFTUN_SECINFOLEN]; /* Security prefs. */
- int16_t ifta_encap_lim; /* Encapsulation limit */
- uint8_t ifta_hop_limit; /* Hop limit */
- uint8_t ifta_spare0; /* Pad to 64-bit boundary */
- uint32_t ifta_spare1;
-};
-
-/* ifta_flags are set to indicate which members are valid */
-#define IFTUN_SRC 0x01
-#define IFTUN_DST 0x02
-#define IFTUN_SECURITY 0x04 /* Pay attention to secinfo */
-#define IFTUN_ENCAP 0x08 /* Pay attention to encap */
-#define IFTUN_HOPLIMIT 0x10 /* Pay attention to hoplimit */
-#define IFTUN_COMPLEX_SECURITY 0x20 /* Policy too big for ioctl */
-
#endif /* !defined(_XOPEN_SOURCE) || defined(__EXTENSIONS__) */
/*
diff --git a/usr/src/uts/common/net/if_types.h b/usr/src/uts/common/net/if_types.h
index be8a0ea26d..7e83b0ec39 100644
--- a/usr/src/uts/common/net/if_types.h
+++ b/usr/src/uts/common/net/if_types.h
@@ -1,5 +1,5 @@
/*
- * Copyright 1993-2003 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
@@ -38,7 +38,6 @@
#ifndef _NET_IF_TYPES_H
#define _NET_IF_TYPES_H
-#pragma ident "%Z%%M% %I% %E% SMI"
/* from UCB 8.3 (Berkeley) 4/28/95 */
#ifdef __cplusplus
@@ -106,6 +105,9 @@ extern "C" {
#define IFT_PROPVIRTUAL 0x35 /* Proprietary Virtual/internal */
#define IFT_PROPMUX 0x36 /* Proprietary Multiplexing */
#define IFT_IB 0xc7 /* Infiniband */
+#define IFT_IPV4 0xc8 /* IPv4 tunnel */
+#define IFT_IPV6 0xc9 /* IPV6 tunnel */
+#define IFT_6TO4 0xca /* 6to4 tunnel */
#ifdef __cplusplus
}