upspec
struct upspec upspec;
attrs->upspec.dport = inp->inp_fport;
attrs->upspec.sport = inp->inp_lport;
attrs->upspec.proto = inp->inp_ip_p;
static void setup_fte_upper_proto_match(struct mlx5_flow_spec *spec, struct upspec *upspec)
switch (upspec->proto) {
if (upspec->dport) {
udp_dport, upspec->dport);
if (upspec->sport) {
udp_dport, upspec->sport);
if (upspec->dport) {
tcp_dport, upspec->dport);
if (upspec->sport) {
tcp_dport, upspec->sport);
MLX5_SET(fte_match_set_lyr_2_4, spec->match_value, ip_protocol, upspec->proto);
setup_fte_upper_proto_match(spec, &attrs->upspec);
setup_fte_upper_proto_match(spec, &attrs->upspec);