summaryrefslogtreecommitdiffstats
path: root/sys/netinet/in_pcb.h
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2006-03-26 11:30:31 +0000
committerrwatson <rwatson@FreeBSD.org>2006-03-26 11:30:31 +0000
commita3688cc84e2cc795f00344b147ed53c98c15520e (patch)
tree76b67b7676f0d34e2bb7bcee7be9310ffb97c11e /sys/netinet/in_pcb.h
parent864627f0332d2a6530b2c98bb783503e37c8c709 (diff)
downloadFreeBSD-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/in_pcb.h')
-rw-r--r--sys/netinet/in_pcb.h2
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 */
OpenPOWER on IntegriCloud