diff options
Diffstat (limited to 'include/net/vxlan.h')
-rw-r--r-- | include/net/vxlan.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/net/vxlan.h b/include/net/vxlan.h index a0d80736224f..0a7443b49133 100644 --- a/include/net/vxlan.h +++ b/include/net/vxlan.h | |||
@@ -19,6 +19,14 @@ struct vxlanhdr { | |||
19 | 19 | ||
20 | /* VXLAN header flags. */ | 20 | /* VXLAN header flags. */ |
21 | #define VXLAN_HF_VNI 0x08000000 | 21 | #define VXLAN_HF_VNI 0x08000000 |
22 | #define VXLAN_HF_RCO 0x00200000 | ||
23 | |||
24 | /* Remote checksum offload header option */ | ||
25 | #define VXLAN_RCO_MASK 0x7f /* Last byte of vni field */ | ||
26 | #define VXLAN_RCO_UDP 0x80 /* Indicate UDP RCO (TCP when not set *) */ | ||
27 | #define VXLAN_RCO_SHIFT 1 /* Left shift of start */ | ||
28 | #define VXLAN_RCO_SHIFT_MASK ((1 << VXLAN_RCO_SHIFT) - 1) | ||
29 | #define VXLAN_MAX_REMCSUM_START (VXLAN_RCO_MASK << VXLAN_RCO_SHIFT) | ||
22 | 30 | ||
23 | #define VXLAN_N_VID (1u << 24) | 31 | #define VXLAN_N_VID (1u << 24) |
24 | #define VXLAN_VID_MASK (VXLAN_N_VID - 1) | 32 | #define VXLAN_VID_MASK (VXLAN_N_VID - 1) |
@@ -38,6 +46,7 @@ struct vxlan_sock { | |||
38 | struct hlist_head vni_list[VNI_HASH_SIZE]; | 46 | struct hlist_head vni_list[VNI_HASH_SIZE]; |
39 | atomic_t refcnt; | 47 | atomic_t refcnt; |
40 | struct udp_offload udp_offloads; | 48 | struct udp_offload udp_offloads; |
49 | u32 flags; | ||
41 | }; | 50 | }; |
42 | 51 | ||
43 | #define VXLAN_F_LEARN 0x01 | 52 | #define VXLAN_F_LEARN 0x01 |
@@ -49,6 +58,8 @@ struct vxlan_sock { | |||
49 | #define VXLAN_F_UDP_CSUM 0x40 | 58 | #define VXLAN_F_UDP_CSUM 0x40 |
50 | #define VXLAN_F_UDP_ZERO_CSUM6_TX 0x80 | 59 | #define VXLAN_F_UDP_ZERO_CSUM6_TX 0x80 |
51 | #define VXLAN_F_UDP_ZERO_CSUM6_RX 0x100 | 60 | #define VXLAN_F_UDP_ZERO_CSUM6_RX 0x100 |
61 | #define VXLAN_F_REMCSUM_TX 0x200 | ||
62 | #define VXLAN_F_REMCSUM_RX 0x400 | ||
52 | 63 | ||
53 | struct vxlan_sock *vxlan_sock_add(struct net *net, __be16 port, | 64 | struct vxlan_sock *vxlan_sock_add(struct net *net, __be16 port, |
54 | vxlan_rcv_t *rcv, void *data, | 65 | vxlan_rcv_t *rcv, void *data, |