diff options
| author | Tom Herbert <therbert@google.com> | 2014-06-04 20:20:29 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-06-05 01:46:39 -0400 |
| commit | 359a0ea9875ef4f32c8425bbe1ae348e1fd2ed2a (patch) | |
| tree | ca8567d5204c6b891dcf5d3e012ceb4a4f027c09 /include | |
| parent | 4749c09c37030ccdc44aecebe0f71b02a377fc14 (diff) | |
vxlan: Add support for UDP checksums (v4 sending, v6 zero csums)
Added VXLAN link configuration for sending UDP checksums, and allowing
TX and RX of UDP6 checksums.
Also, call common iptunnel_handle_offloads and added GSO support for
checksums.
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/vxlan.h | 12 | ||||
| -rw-r--r-- | include/uapi/linux/if_link.h | 3 |
2 files changed, 14 insertions, 1 deletions
diff --git a/include/net/vxlan.h b/include/net/vxlan.h index 7bb4084b1bd0..12196ce661d9 100644 --- a/include/net/vxlan.h +++ b/include/net/vxlan.h | |||
| @@ -24,9 +24,19 @@ struct vxlan_sock { | |||
| 24 | struct udp_offload udp_offloads; | 24 | struct udp_offload udp_offloads; |
| 25 | }; | 25 | }; |
| 26 | 26 | ||
| 27 | #define VXLAN_F_LEARN 0x01 | ||
| 28 | #define VXLAN_F_PROXY 0x02 | ||
| 29 | #define VXLAN_F_RSC 0x04 | ||
| 30 | #define VXLAN_F_L2MISS 0x08 | ||
| 31 | #define VXLAN_F_L3MISS 0x10 | ||
| 32 | #define VXLAN_F_IPV6 0x20 | ||
| 33 | #define VXLAN_F_UDP_CSUM 0x40 | ||
| 34 | #define VXLAN_F_UDP_ZERO_CSUM6_TX 0x80 | ||
| 35 | #define VXLAN_F_UDP_ZERO_CSUM6_RX 0x100 | ||
| 36 | |||
| 27 | struct vxlan_sock *vxlan_sock_add(struct net *net, __be16 port, | 37 | struct vxlan_sock *vxlan_sock_add(struct net *net, __be16 port, |
| 28 | vxlan_rcv_t *rcv, void *data, | 38 | vxlan_rcv_t *rcv, void *data, |
| 29 | bool no_share, bool ipv6); | 39 | bool no_share, u32 flags); |
| 30 | 40 | ||
| 31 | void vxlan_sock_release(struct vxlan_sock *vs); | 41 | void vxlan_sock_release(struct vxlan_sock *vs); |
| 32 | 42 | ||
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 622e7910b8cc..b38534895db5 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -319,6 +319,9 @@ enum { | |||
| 319 | IFLA_VXLAN_PORT, /* destination port */ | 319 | IFLA_VXLAN_PORT, /* destination port */ |
| 320 | IFLA_VXLAN_GROUP6, | 320 | IFLA_VXLAN_GROUP6, |
| 321 | IFLA_VXLAN_LOCAL6, | 321 | IFLA_VXLAN_LOCAL6, |
| 322 | IFLA_VXLAN_UDP_CSUM, | ||
| 323 | IFLA_VXLAN_UDP_ZERO_CSUM6_TX, | ||
| 324 | IFLA_VXLAN_UDP_ZERO_CSUM6_RX, | ||
| 322 | __IFLA_VXLAN_MAX | 325 | __IFLA_VXLAN_MAX |
| 323 | }; | 326 | }; |
| 324 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) | 327 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) |
