- add second flags field to to inpcb

- update comments in vflag
This commit is contained in:
Kip Macy 2009-04-15 22:09:42 +00:00
parent 82c33e73f2
commit 773b573a96
3 changed files with 13 additions and 5 deletions

View File

@ -22,6 +22,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW:
to maximize performance. (To disable malloc debugging, run
ln -s aj /etc/malloc.conf.)
20090415:
Anticipate overflowing inp_flags - add inp_flags2.
This changes most offsets in inpcb, so checking v4 connection
state will require a world rebuild.
Bump __FreeBSD_version to 800080.
20090415:
Add an llentry to struct route and struct route_in6. Modules
embedding a struct route will need to be recompiled.

View File

@ -163,6 +163,7 @@ struct inpcb {
struct ucred *inp_cred; /* (c) cache of socket cred */
u_int32_t inp_flow; /* (i) IPv6 flow information */
int inp_flags; /* (i) generic IP/datagram flags */
int inp_flags2; /* (i) generic IP/datagram flags #2*/
u_char inp_vflag; /* (i) IP version flag (v4/v6) */
u_char inp_ip_ttl; /* (i) time to live proto */
u_char inp_ip_p; /* (c) protocol proto */
@ -380,16 +381,14 @@ void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp,
(ntohs((lport)) & (mask))
/*
* Flags for inp_vflags -- historically version flags only, but now quite a
* bit more due to an overflow of inp_flag, leading to some locking ambiguity
* as some bits are stable from initial allocation, and others may change.
* Flags for inp_vflags -- historically version flags only
*/
#define INP_IPV4 0x1
#define INP_IPV6 0x2
#define INP_IPV6PROTO 0x4 /* opened under IPv6 protocol */
/*
* Flags for inp_flag.
* Flags for inp_flags.
*/
#define INP_RECVOPTS 0x00000001 /* receive incoming IP options */
#define INP_RECVRETOPTS 0x00000002 /* receive IP options for reply */
@ -431,6 +430,10 @@ void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp,
IN6P_TCLASS|IN6P_AUTOFLOWLABEL|IN6P_RFC2292|\
IN6P_MTU)
/*
* Flags for inp_flags2.
*/
#define INPLOOKUP_WILDCARD 1
#define sotoinpcb(so) ((struct inpcb *)(so)->so_pcb)
#define sotoin6pcb(so) sotoinpcb(so) /* for KAME src sync over BSD*'s */

View File

@ -57,7 +57,7 @@
* is created, otherwise 1.
*/
#undef __FreeBSD_version
#define __FreeBSD_version 800079 /* Master, propagated to newvers */
#define __FreeBSD_version 800080 /* Master, propagated to newvers */
#ifndef LOCORE
#include <sys/types.h>