This patch adds support receiving for GUE packets in the fou module. The fou module now supports direct foo-over-udp (no encapsulation header) and GUE. To support this a type parameter is added to the fou netlink parameters. For a GUE socket we define gue_udp_recv, gue_gro_receive, and gue_gro_complete to handle the specifics of the GUE protocol. Most of the code to manage and configure sockets is common with the fou.
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -13,6 +13,7 @@ enum { · 12 unmodified lines | |||
| 13 | FOU_ATTR_PORT, /* u16 */ | 13 | FOU_ATTR_PORT, /* u16 */ |
| 14 | FOU_ATTR_AF, /* u8 */ | 14 | FOU_ATTR_AF, /* u8 */ |
| 15 | FOU_ATTR_IPPROTO, /* u8 */ | 15 | FOU_ATTR_IPPROTO, /* u8 */ |
| 16 | FOU_ATTR_TYPE, /* u8 */ | ||
| 16 | 17 | ||
| 17 | __FOU_ATTR_MAX, | 18 | __FOU_ATTR_MAX, |
| 18 | }; | 19 | }; |
| @@ -27,6 +28,12 @@ enum { · 8 unmodified lines | |||
| 27 | __FOU_CMD_MAX, | 28 | __FOU_CMD_MAX, |
| 28 | }; | 29 | }; |
| 29 | 30 | ||
| 31 | enum { | ||
| 32 | FOU_ENCAP_UNSPEC, | ||
| 33 | FOU_ENCAP_DIRECT, | ||
| 34 | FOU_ENCAP_GUE, | ||
| 35 | }; | ||
| 36 | |||
| 30 | #define FOU_CMD_MAX (__FOU_CMD_MAX - 1) | 37 | #define FOU_CMD_MAX (__FOU_CMD_MAX - 1) |
| 31 | 38 | ||
| 32 | #endif /* _UAPI_LINUX_FOU_H */ | 39 | #endif /* _UAPI_LINUX_FOU_H */ |