This patch adds support for rewriting SCTP src,dst ports similar to the functionality already available for TCP/UDP. Rewriting SCTP ports is expensive due to double-recalculation of the SCTP checksums; this is performed to ensure that packets traversing OVS with invalid checksums will continue to the destination with any checksum corruption intact.
Showing the changes to include/uapi/linux (1 of 6 files). Show all
Unified · Split
| @@ -259,6 +259,7 @@ enum ovs_key_attr { · 258 unmodified lines | |||
| 259 | OVS_KEY_ATTR_ND, /* struct ovs_key_nd */ | 259 | OVS_KEY_ATTR_ND, /* struct ovs_key_nd */ |
| 260 | OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ | 260 | OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ |
| 261 | OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ | 261 | OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ |
| 262 | OVS_KEY_ATTR_SCTP, /* struct ovs_key_sctp */ | ||
| 262 | 263 | ||
| 263 | #ifdef __KERNEL__ | 264 | #ifdef __KERNEL__ |
| 264 | OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ | 265 | OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ |
| @@ -333,6 +334,11 @@ struct ovs_key_udp { · 68 unmodified lines | |||
| 333 | __be16 udp_dst; | 334 | __be16 udp_dst; |
| 334 | }; | 335 | }; |
| 335 | 336 | ||
| 337 | struct ovs_key_sctp { | ||
| 338 | __be16 sctp_src; | ||
| 339 | __be16 sctp_dst; | ||
| 340 | }; | ||
| 341 | |||
| 336 | struct ovs_key_icmp { | 342 | struct ovs_key_icmp { |
| 337 | __u8 icmp_type; | 343 | __u8 icmp_type; |
| 338 | __u8 icmp_code; | 344 | __u8 icmp_code; |