ip6_var.h (187989) | ip6_var.h (191672) |
---|---|
1/*- 2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 44 unchanged lines hidden (view full) --- 53 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 54 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 55 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 58 * SUCH DAMAGE. 59 * 60 * @(#)ip_var.h 8.1 (Berkeley) 6/10/93 | 1/*- 2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 44 unchanged lines hidden (view full) --- 53 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 54 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 55 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 58 * SUCH DAMAGE. 59 * 60 * @(#)ip_var.h 8.1 (Berkeley) 6/10/93 |
61 * $FreeBSD: head/sys/netinet6/ip6_var.h 187989 2009-02-01 21:11:08Z bz $ | 61 * $FreeBSD: head/sys/netinet6/ip6_var.h 191672 2009-04-29 19:19:13Z bms $ |
62 */ 63 64#ifndef _NETINET6_IP6_VAR_H_ 65#define _NETINET6_IP6_VAR_H_ 66 67/* 68 * IP6 reassembly queue structure. Each fragment 69 * being reassembled is attached to one of these structures. --- 23 unchanged lines hidden (view full) --- 93 int ip6af_offset; /* offset in ip6af_m to next header */ 94 int ip6af_frglen; /* fragmentable part length */ 95 int ip6af_off; /* fragment offset */ 96 u_int16_t ip6af_mff; /* more fragment bit in frag off */ 97}; 98 99#define IP6_REASS_MBUF(ip6af) (*(struct mbuf **)&((ip6af)->ip6af_m)) 100 | 62 */ 63 64#ifndef _NETINET6_IP6_VAR_H_ 65#define _NETINET6_IP6_VAR_H_ 66 67/* 68 * IP6 reassembly queue structure. Each fragment 69 * being reassembled is attached to one of these structures. --- 23 unchanged lines hidden (view full) --- 93 int ip6af_offset; /* offset in ip6af_m to next header */ 94 int ip6af_frglen; /* fragmentable part length */ 95 int ip6af_off; /* fragment offset */ 96 u_int16_t ip6af_mff; /* more fragment bit in frag off */ 97}; 98 99#define IP6_REASS_MBUF(ip6af) (*(struct mbuf **)&((ip6af)->ip6af_m)) 100 |
101struct ip6_moptions { | 101/* 102 * Structure attached to inpcb.in6p_moptions and 103 * passed to ip6_output when IPv6 multicast options are in use. 104 * This structure is lazy-allocated. 105 */ 106struct ip6_moptions { |
102 struct ifnet *im6o_multicast_ifp; /* ifp for outgoing multicasts */ 103 u_char im6o_multicast_hlim; /* hoplimit for outgoing multicasts */ 104 u_char im6o_multicast_loop; /* 1 >= hear sends if a member */ | 107 struct ifnet *im6o_multicast_ifp; /* ifp for outgoing multicasts */ 108 u_char im6o_multicast_hlim; /* hoplimit for outgoing multicasts */ 109 u_char im6o_multicast_loop; /* 1 >= hear sends if a member */ |
105 LIST_HEAD(, in6_multi_mship) im6o_memberships; | 110 u_short im6o_num_memberships; /* no. memberships this socket */ 111 u_short im6o_max_memberships; /* max memberships this socket */ 112 struct in6_multi **im6o_membership; /* group memberships */ 113 struct in6_mfilter *im6o_mfilters; /* source filters */ |
106}; 107 108/* 109 * Control options for outgoing packets 110 */ 111 112/* Routing header related info */ 113struct ip6po_rhinfo { --- 115 unchanged lines hidden (view full) --- 229 /* number of times that a deprecated address is chosen */ 230 u_quad_t ip6s_sources_deprecated[16]; 231 232 /* number of times that each rule of source selection is applied. */ 233 u_quad_t ip6s_sources_rule[16]; 234}; 235 236#ifdef _KERNEL | 114}; 115 116/* 117 * Control options for outgoing packets 118 */ 119 120/* Routing header related info */ 121struct ip6po_rhinfo { --- 115 unchanged lines hidden (view full) --- 237 /* number of times that a deprecated address is chosen */ 238 u_quad_t ip6s_sources_deprecated[16]; 239 240 /* number of times that each rule of source selection is applied. */ 241 u_quad_t ip6s_sources_rule[16]; 242}; 243 244#ifdef _KERNEL |
245#define IP6STAT_ADD(name, val) V_ip6stat.name += (val) 246#define IP6STAT_SUB(name, val) V_ip6stat.name -= (val) 247#define IP6STAT_INC(name) IP6STAT_ADD(name, 1) 248#define IP6STAT_DEC(name) IP6STAT_SUB(name, 1) 249#endif 250 251#ifdef _KERNEL |
|
237/* 238 * IPv6 onion peeling state. 239 * it will be initialized when we come into ip6_input(). 240 * XXX do not make it a kitchen sink! 241 */ 242struct ip6aux { 243 u_int32_t ip6a_flags; 244#define IP6A_SWAP 0x01 /* swapped home/care-of on packet */ --- 37 unchanged lines hidden (view full) --- 282extern int ip6_defmcasthlim; /* default multicast hop limit */ 283extern int ip6_forwarding; /* act as router? */ 284extern int ip6_gif_hlim; /* Hop limit for gif encap packet */ 285extern int ip6_use_deprecated; /* allow deprecated addr as source */ 286extern int ip6_rr_prune; /* router renumbering prefix 287 * walk list every 5 sec. */ 288extern int ip6_mcast_pmtu; /* enable pMTU discovery for multicast? */ 289extern int ip6_v6only; | 252/* 253 * IPv6 onion peeling state. 254 * it will be initialized when we come into ip6_input(). 255 * XXX do not make it a kitchen sink! 256 */ 257struct ip6aux { 258 u_int32_t ip6a_flags; 259#define IP6A_SWAP 0x01 /* swapped home/care-of on packet */ --- 37 unchanged lines hidden (view full) --- 297extern int ip6_defmcasthlim; /* default multicast hop limit */ 298extern int ip6_forwarding; /* act as router? */ 299extern int ip6_gif_hlim; /* Hop limit for gif encap packet */ 300extern int ip6_use_deprecated; /* allow deprecated addr as source */ 301extern int ip6_rr_prune; /* router renumbering prefix 302 * walk list every 5 sec. */ 303extern int ip6_mcast_pmtu; /* enable pMTU discovery for multicast? */ 304extern int ip6_v6only; |
290#endif /* VIMAGE_GLOBALS */ 291 | |
292extern struct socket *ip6_mrouter; /* multicast routing daemon */ | 305extern struct socket *ip6_mrouter; /* multicast routing daemon */ |
293#ifdef VIMAGE_GLOBALS | |
294extern int ip6_sendredirects; /* send IP redirects when forwarding? */ 295extern int ip6_maxfragpackets; /* Maximum packets in reassembly queue */ 296extern int ip6_maxfrags; /* Maximum fragments in reassembly queue */ 297extern int ip6_accept_rtadv; /* Acts as a host not a router */ 298extern int ip6_keepfaith; /* Firewall Aided Internet Translator */ 299extern int ip6_log_interval; 300extern time_t ip6_log_time; 301extern int ip6_hdrnestlimit; /* upper limit of # of extension headers */ --- 23 unchanged lines hidden (view full) --- 325 326int icmp6_ctloutput __P((struct socket *, struct sockopt *sopt)); 327 328struct in6_ifaddr; 329void ip6_init __P((void)); 330void ip6_input __P((struct mbuf *)); 331struct in6_ifaddr *ip6_getdstifaddr __P((struct mbuf *)); 332void ip6_freepcbopts __P((struct ip6_pktopts *)); | 306extern int ip6_sendredirects; /* send IP redirects when forwarding? */ 307extern int ip6_maxfragpackets; /* Maximum packets in reassembly queue */ 308extern int ip6_maxfrags; /* Maximum fragments in reassembly queue */ 309extern int ip6_accept_rtadv; /* Acts as a host not a router */ 310extern int ip6_keepfaith; /* Firewall Aided Internet Translator */ 311extern int ip6_log_interval; 312extern time_t ip6_log_time; 313extern int ip6_hdrnestlimit; /* upper limit of # of extension headers */ --- 23 unchanged lines hidden (view full) --- 337 338int icmp6_ctloutput __P((struct socket *, struct sockopt *sopt)); 339 340struct in6_ifaddr; 341void ip6_init __P((void)); 342void ip6_input __P((struct mbuf *)); 343struct in6_ifaddr *ip6_getdstifaddr __P((struct mbuf *)); 344void ip6_freepcbopts __P((struct ip6_pktopts *)); |
333void ip6_freemoptions __P((struct ip6_moptions *)); | 345 |
334int ip6_unknown_opt __P((u_int8_t *, struct mbuf *, int)); 335char * ip6_get_prevhdr __P((struct mbuf *, int)); 336int ip6_nexthdr __P((struct mbuf *, int, int, int *)); 337int ip6_lasthdr __P((struct mbuf *, int, int, int *)); 338 339struct ip6aux *ip6_addaux __P((struct mbuf *)); 340struct ip6aux *ip6_findaux __P((struct mbuf *)); 341void ip6_delaux __P((struct mbuf *)); --- 59 unchanged lines hidden --- | 346int ip6_unknown_opt __P((u_int8_t *, struct mbuf *, int)); 347char * ip6_get_prevhdr __P((struct mbuf *, int)); 348int ip6_nexthdr __P((struct mbuf *, int, int, int *)); 349int ip6_lasthdr __P((struct mbuf *, int, int, int *)); 350 351struct ip6aux *ip6_addaux __P((struct mbuf *)); 352struct ip6aux *ip6_findaux __P((struct mbuf *)); 353void ip6_delaux __P((struct mbuf *)); --- 59 unchanged lines hidden --- |