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 | 259 | OVS_KEY_ATTR_ND, /* struct ovs_key_nd */ |
| 260 | 260 | OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ |
| 261 | 261 | OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ |
| 262 | + OVS_KEY_ATTR_SCTP, /* struct ovs_key_sctp */ | |
| 262 | 263 | |
| 263 | 264 | #ifdef __KERNEL__ |
| 264 | 265 | OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ |
| @@ -333,6 +334,11 @@ struct ovs_key_udp { · 68 unmodified lines | ||
| 333 | 334 | __be16 udp_dst; |
| 334 | 335 | }; |
| 335 | 336 | |
| 337 | +struct ovs_key_sctp { | |
| 338 | + __be16 sctp_src; | |
| 339 | + __be16 sctp_dst; | |
| 340 | +}; | |
| 341 | + | |
| 336 | 342 | struct ovs_key_icmp { |
| 337 | 343 | __u8 icmp_type; |
| 338 | 344 | __u8 icmp_code; |