X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Ftransport_types.h;h=f0fc285510f78ab313f5b0e0c4f4dfebd01fe2f3;hb=04ae8273f64a4f5a771da9b056bcccd1ebf9c7d9;hp=1e7d5672f1c992938b6efd9c663cf2ceb3cf5bb7;hpb=7bc714da36bb9badec2ad5bf848c6b90caabad0a;p=vpp.git diff --git a/src/vnet/session/transport_types.h b/src/vnet/session/transport_types.h index 1e7d5672f1c..f0fc285510f 100644 --- a/src/vnet/session/transport_types.h +++ b/src/vnet/session/transport_types.h @@ -215,6 +215,42 @@ typedef struct transport_endpoint_pair_ #undef _ } transport_endpoint_cfg_t; +#define foreach_transport_endpt_cfg_flags \ + _ (CSUM_OFFLOAD) \ + _ (GSO) \ + _ (RATE_SAMPLING) + +typedef enum transport_endpt_attr_flag_ +{ +#define _(name) TRANSPORT_ENDPT_ATTR_F_##name, + foreach_transport_endpt_cfg_flags +#undef _ +} __clib_packed transport_endpt_attr_flag_t; + +#define foreach_transport_attr_fields \ + _ (u64, next_output_node, NEXT_OUTPUT_NODE) \ + _ (u16, mss, MSS) \ + _ (u8, flags, FLAGS) \ + _ (u8, cc_algo, CC_ALGO) + +typedef enum transport_endpt_attr_type_ +{ +#define _(type, name, str) TRANSPORT_ENDPT_ATTR_##str, + foreach_transport_attr_fields +#undef _ +} __clib_packed transport_endpt_attr_type_t; + +typedef struct transport_endpt_attr_ +{ + transport_endpt_attr_type_t type; + union + { +#define _(type, name, str) type name; + foreach_transport_attr_fields +#undef _ + }; +} transport_endpt_attr_t; + typedef clib_bihash_24_8_t transport_endpoint_table_t; #define ENDPOINT_INVALID_INDEX ((u32)~0)