Skip to content

Commit 38fd2af

Browse files
tomratbertdavem330
authored andcommitted
udp: Add socket based GRO and config
Add gro_receive and gro_complete to struct udp_tunnel_sock_cfg. Signed-off-by: Tom Herbert <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent a602456 commit 38fd2af

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

include/net/udp_tunnel.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,20 @@ static inline int udp_sock_create(struct net *net,
6464

6565
typedef int (*udp_tunnel_encap_rcv_t)(struct sock *sk, struct sk_buff *skb);
6666
typedef void (*udp_tunnel_encap_destroy_t)(struct sock *sk);
67+
typedef struct sk_buff **(*udp_tunnel_gro_receive_t)(struct sock *sk,
68+
struct sk_buff **head,
69+
struct sk_buff *skb);
70+
typedef int (*udp_tunnel_gro_complete_t)(struct sock *sk, struct sk_buff *skb,
71+
int nhoff);
6772

6873
struct udp_tunnel_sock_cfg {
6974
void *sk_user_data; /* user data used by encap_rcv call back */
7075
/* Used for setting up udp_sock fields, see udp.h for details */
7176
__u8 encap_type;
7277
udp_tunnel_encap_rcv_t encap_rcv;
7378
udp_tunnel_encap_destroy_t encap_destroy;
79+
udp_tunnel_gro_receive_t gro_receive;
80+
udp_tunnel_gro_complete_t gro_complete;
7481
};
7582

7683
/* Setup the given (UDP) sock to receive UDP encapsulated packets */

net/ipv4/udp_tunnel.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ void setup_udp_tunnel_sock(struct net *net, struct socket *sock,
6969
udp_sk(sk)->encap_type = cfg->encap_type;
7070
udp_sk(sk)->encap_rcv = cfg->encap_rcv;
7171
udp_sk(sk)->encap_destroy = cfg->encap_destroy;
72+
udp_sk(sk)->gro_receive = cfg->gro_receive;
73+
udp_sk(sk)->gro_complete = cfg->gro_complete;
7274

7375
udp_tunnel_encap_enable(sock);
7476
}

0 commit comments

Comments
 (0)