aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sock.h')
-rw-r--r--include/net/sock.h8
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);
1427extern void sock_wfree(struct sk_buff *skb); 1432extern void sock_wfree(struct sk_buff *skb);
1428extern void sock_rfree(struct sk_buff *skb); 1433extern void sock_rfree(struct sk_buff *skb);
1434extern void sock_edemux(struct sk_buff *skb);
1429 1435
1430extern int sock_setsockopt(struct socket *sock, int level, 1436extern 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
2153static inline struct sock *skb_steal_sock(struct sk_buff *skb) 2159static 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;