diff options
author | rwatson <rwatson@FreeBSD.org> | 2006-03-26 11:30:31 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2006-03-26 11:30:31 +0000 |
commit | a3688cc84e2cc795f00344b147ed53c98c15520e (patch) | |
tree | 76b67b7676f0d34e2bb7bcee7be9310ffb97c11e /sys/netinet | |
parent | 864627f0332d2a6530b2c98bb783503e37c8c709 (diff) | |
download | FreeBSD-src-a3688cc84e2cc795f00344b147ed53c98c15520e.zip FreeBSD-src-a3688cc84e2cc795f00344b147ed53c98c15520e.tar.gz |
Define two new inpcb flags in the inp_vflag field, which for whatever
reason, seems to be where new flags are getting defined:
INP_DROPPED - The protocol has terminated this connection and the socket
is not reusable: when the socket code enters the protocol,
an error is immediately returned. This will substitute for
NULLing the so_pcb socket field, helping to implement the
invariant that all valid sockets have valid pcb's in TCP.
INP_SOCKREF - The protocol has become the owner of the socket reference,
and will need to free it when freeing the pcb, which will
be used when a TCP socket is closed but still has queued
data.
MFC after: 1 month
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/in_pcb.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 87b65d6..ffdcad1 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -131,6 +131,8 @@ struct inpcb { #define INP_IPV6PROTO 0x4 /* opened under IPv6 protocol */ #define INP_TIMEWAIT 0x8 /* .. probably doesn't go here */ #define INP_ONESBCAST 0x10 /* send all-ones broadcast */ +#define INP_DROPPED 0x20 /* protocol drop flag */ +#define INP_SOCKREF 0x40 /* strong socket reference */ u_char inp_ip_ttl; /* time to live proto */ u_char inp_ip_p; /* protocol proto */ u_char inp_ip_minttl; /* minimum TTL or drop */ |