net/mlx5: support match on IPv6 fragment packets
This patch adds to MLX5 PMD the support of matching on IPv6 fragmented and non-fragmented packets, using the new field has_frag_ext, added to rte_flow following RFC [1]. [1] https://mails.dpdk.org/archives/dev/2020-August/177257.html Signed-off-by: Dekel Peled <dekelp@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
This commit is contained in:
parent
6859e67ef6
commit
ad3d227ead
@ -173,7 +173,7 @@ New Features
|
||||
|
||||
Updated Mellanox mlx5 driver with new features and improvements, including:
|
||||
|
||||
* Added support for matching on fragmented/non-fragmented IPv4 packets.
|
||||
* Added support for matching on fragmented/non-fragmented IPv4/IPv6 packets.
|
||||
|
||||
* **Updated Solarflare network PMD.**
|
||||
|
||||
|
@ -5417,6 +5417,7 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
|
||||
.proto = 0xff,
|
||||
.hop_limits = 0xff,
|
||||
},
|
||||
.has_frag_ext = 1,
|
||||
};
|
||||
const struct rte_flow_item_ecpri nic_ecpri_mask = {
|
||||
.hdr = {
|
||||
@ -6734,6 +6735,10 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
|
||||
ipv6_m->hdr.hop_limits);
|
||||
MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_ttl_hoplimit,
|
||||
ipv6_v->hdr.hop_limits & ipv6_m->hdr.hop_limits);
|
||||
MLX5_SET(fte_match_set_lyr_2_4, headers_m, frag,
|
||||
!!(ipv6_m->has_frag_ext));
|
||||
MLX5_SET(fte_match_set_lyr_2_4, headers_v, frag,
|
||||
!!(ipv6_v->has_frag_ext & ipv6_m->has_frag_ext));
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user