diff options
| author | Sebastien Roy <Sebastien.Roy@Sun.COM> | 2009-09-22 22:04:45 -0400 |
|---|---|---|
| committer | Sebastien Roy <Sebastien.Roy@Sun.COM> | 2009-09-22 22:04:45 -0400 |
| commit | 2b24ab6b3865caeede9eeb9db6b83e1d89dcd1ea (patch) | |
| tree | 72c0d7d4e1c44843a86bab6e3ed6f82cfa7356af /usr/src/uts/common/net | |
| parent | 51fc88a818087605a0e5f11eddb8b66576f72c23 (diff) | |
| download | illumos-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.h | 48 | ||||
| -rw-r--r-- | usr/src/uts/common/net/if_types.h | 6 |
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 } |
