112a9d9c8Sopenharmony_ci// bindgen-flags: --with-derive-hash --with-derive-partialeq --with-derive-eq
212a9d9c8Sopenharmony_ci
312a9d9c8Sopenharmony_citypedef unsigned char uint8_t;
412a9d9c8Sopenharmony_citypedef unsigned short uint16_t;
512a9d9c8Sopenharmony_citypedef unsigned int uint32_t;
612a9d9c8Sopenharmony_ci
712a9d9c8Sopenharmony_cistruct rte_ipv4_tuple {
812a9d9c8Sopenharmony_ci        uint32_t        src_addr;
912a9d9c8Sopenharmony_ci        uint32_t        dst_addr;
1012a9d9c8Sopenharmony_ci        union {
1112a9d9c8Sopenharmony_ci                struct {
1212a9d9c8Sopenharmony_ci                        uint16_t dport;
1312a9d9c8Sopenharmony_ci                        uint16_t sport;
1412a9d9c8Sopenharmony_ci                };
1512a9d9c8Sopenharmony_ci                uint32_t        sctp_tag;
1612a9d9c8Sopenharmony_ci        };
1712a9d9c8Sopenharmony_ci};
1812a9d9c8Sopenharmony_ci
1912a9d9c8Sopenharmony_cistruct rte_ipv6_tuple {
2012a9d9c8Sopenharmony_ci        uint8_t         src_addr[16];
2112a9d9c8Sopenharmony_ci        uint8_t         dst_addr[16];
2212a9d9c8Sopenharmony_ci        union {
2312a9d9c8Sopenharmony_ci                struct {
2412a9d9c8Sopenharmony_ci                        uint16_t dport;
2512a9d9c8Sopenharmony_ci                        uint16_t sport;
2612a9d9c8Sopenharmony_ci                };
2712a9d9c8Sopenharmony_ci                uint32_t        sctp_tag;
2812a9d9c8Sopenharmony_ci        };
2912a9d9c8Sopenharmony_ci};
3012a9d9c8Sopenharmony_ci
3112a9d9c8Sopenharmony_ciunion rte_thash_tuple {
3212a9d9c8Sopenharmony_ci        struct rte_ipv4_tuple   v4;
3312a9d9c8Sopenharmony_ci        struct rte_ipv6_tuple   v6;
3412a9d9c8Sopenharmony_ci} __attribute__((aligned(16)));
35