diff options
Diffstat (limited to 'include/net/sock.h')
-rw-r--r-- | include/net/sock.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 4a4521699563..e067f8c18f88 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -198,6 +198,7 @@ struct cg_proto; | |||
198 | * @sk_lock: synchronizer | 198 | * @sk_lock: synchronizer |
199 | * @sk_rcvbuf: size of receive buffer in bytes | 199 | * @sk_rcvbuf: size of receive buffer in bytes |
200 | * @sk_wq: sock wait queue and async head | 200 | * @sk_wq: sock wait queue and async head |
201 | * @sk_rx_dst: receive input route used by early tcp demux | ||
201 | * @sk_dst_cache: destination cache | 202 | * @sk_dst_cache: destination cache |
202 | * @sk_dst_lock: destination cache lock | 203 | * @sk_dst_lock: destination cache lock |
203 | * @sk_policy: flow policy | 204 | * @sk_policy: flow policy |
@@ -317,6 +318,7 @@ struct sock { | |||
317 | struct xfrm_policy *sk_policy[2]; | 318 | struct xfrm_policy *sk_policy[2]; |
318 | #endif | 319 | #endif |
319 | unsigned long sk_flags; | 320 | unsigned long sk_flags; |
321 | struct dst_entry *sk_rx_dst; | ||
320 | struct dst_entry *sk_dst_cache; | 322 | struct dst_entry *sk_dst_cache; |
321 | spinlock_t sk_dst_lock; | 323 | spinlock_t sk_dst_lock; |
322 | atomic_t sk_wmem_alloc; | 324 | atomic_t sk_wmem_alloc; |
@@ -856,6 +858,9 @@ struct proto { | |||
856 | int (*backlog_rcv) (struct sock *sk, | 858 | int (*backlog_rcv) (struct sock *sk, |
857 | struct sk_buff *skb); | 859 | struct sk_buff *skb); |
858 | 860 | ||
861 | void (*release_cb)(struct sock *sk); | ||
862 | void (*mtu_reduced)(struct sock *sk); | ||
863 | |||
859 | /* Keeping track of sk's, looking them up, and port selection methods. */ | 864 | /* Keeping track of sk's, looking them up, and port selection methods. */ |
860 | void (*hash)(struct sock *sk); | 865 | void (*hash)(struct sock *sk); |
861 | void (*unhash)(struct sock *sk); | 866 | void (*unhash)(struct sock *sk); |
@@ -1426,6 +1431,7 @@ extern struct sk_buff *sock_rmalloc(struct sock *sk, | |||
1426 | gfp_t priority); | 1431 | gfp_t priority); |
1427 | extern void sock_wfree(struct sk_buff *skb); | 1432 | extern void sock_wfree(struct sk_buff *skb); |
1428 | extern void sock_rfree(struct sk_buff *skb); | 1433 | extern void sock_rfree(struct sk_buff *skb); |
1434 | extern void sock_edemux(struct sk_buff *skb); | ||
1429 | 1435 | ||
1430 | extern int sock_setsockopt(struct socket *sock, int level, | 1436 | extern int sock_setsockopt(struct socket *sock, int level, |
1431 | int op, char __user *optval, | 1437 | int op, char __user *optval, |
@@ -2152,7 +2158,7 @@ static inline void sk_change_net(struct sock *sk, struct net *net) | |||
2152 | 2158 | ||
2153 | static inline struct sock *skb_steal_sock(struct sk_buff *skb) | 2159 | static inline struct sock *skb_steal_sock(struct sk_buff *skb) |
2154 | { | 2160 | { |
2155 | if (unlikely(skb->sk)) { | 2161 | if (skb->sk) { |
2156 | struct sock *sk = skb->sk; | 2162 | struct sock *sk = skb->sk; |
2157 | 2163 | ||
2158 | skb->destructor = NULL; | 2164 | skb->destructor = NULL; |