Currently, when IPv4 is parsed as part of flow subscription input set, we
add two bytes to the total number of bytes in the input set for IPv4 source
or destination addresses, whereas they should be 4 bytes. Fix to add the
correct number of bytes.

Fixes: 6d42380e5983 ("net/iavf: add flow subscrption supported pattern")
Cc: [email protected]

Signed-off-by: Anatoly Burakov <[email protected]>
Acked-by: Vladimir Medvedkin <[email protected]>
---
 drivers/net/intel/iavf/iavf_fsub.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/intel/iavf/iavf_fsub.c 
b/drivers/net/intel/iavf/iavf_fsub.c
index 18df9c6500..cf1030320f 100644
--- a/drivers/net/intel/iavf/iavf_fsub.c
+++ b/drivers/net/intel/iavf/iavf_fsub.c
@@ -314,11 +314,11 @@ iavf_fsub_parse_pattern(const struct rte_flow_item 
pattern[],
 
                                if (ipv4_mask->hdr.src_addr) {
                                        *input |= IAVF_INSET_IPV4_SRC;
-                                       input_set_byte += 2;
+                                       input_set_byte += 4;
                                }
                                if (ipv4_mask->hdr.dst_addr) {
                                        *input |= IAVF_INSET_IPV4_DST;
-                                       input_set_byte += 2;
+                                       input_set_byte += 4;
                                }
                                if (ipv4_mask->hdr.time_to_live) {
                                        *input |= IAVF_INSET_IPV4_TTL;
-- 
2.47.3

Reply via email to