mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
net: ipv6: fix TCP early demux
IPv6 needs a cookie in dst_check() call. We need to add rx_dst_cookie and provide a family independent sk_rx_dst_set(sk, skb) method to properly support IPv6 TCP early demux. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b5497eeb37
commit
5d299f3d3c
7 changed files with 41 additions and 16 deletions
|
|
@ -39,6 +39,7 @@ struct inet_connection_sock_af_ops {
|
|||
int (*queue_xmit)(struct sk_buff *skb, struct flowi *fl);
|
||||
void (*send_check)(struct sock *sk, struct sk_buff *skb);
|
||||
int (*rebuild_header)(struct sock *sk);
|
||||
void (*sk_rx_dst_set)(struct sock *sk, const struct sk_buff *skb);
|
||||
int (*conn_request)(struct sock *sk, struct sk_buff *skb);
|
||||
struct sock *(*syn_recv_sock)(struct sock *sk, struct sk_buff *skb,
|
||||
struct request_sock *req,
|
||||
|
|
|
|||
|
|
@ -249,13 +249,4 @@ static inline __u8 inet_sk_flowi_flags(const struct sock *sk)
|
|||
return flags;
|
||||
}
|
||||
|
||||
static inline void inet_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb)
|
||||
{
|
||||
struct dst_entry *dst = skb_dst(skb);
|
||||
|
||||
dst_hold(dst);
|
||||
sk->sk_rx_dst = dst;
|
||||
inet_sk(sk)->rx_dst_ifindex = skb->skb_iif;
|
||||
}
|
||||
|
||||
#endif /* _INET_SOCK_H */
|
||||
|
|
|
|||
Loading…
Reference in a new issue