git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/mlx5: fix indirect action modify rollback
[dpdk.git]
/
drivers
/
net
/
ixgbe
/
ixgbe_flow.c
diff --git
a/drivers/net/ixgbe/ixgbe_flow.c
b/drivers/net/ixgbe/ixgbe_flow.c
index
39f6ed7
..
511b612
100644
(file)
--- a/
drivers/net/ixgbe/ixgbe_flow.c
+++ b/
drivers/net/ixgbe/ixgbe_flow.c
@@
-25,7
+25,7
@@
#include <rte_eal.h>
#include <rte_alarm.h>
#include <rte_ether.h>
#include <rte_eal.h>
#include <rte_alarm.h>
#include <rte_ether.h>
-#include <
rte_
ethdev_driver.h>
+#include <ethdev_driver.h>
#include <rte_malloc.h>
#include <rte_random.h>
#include <rte_dev.h>
#include <rte_malloc.h>
#include <rte_random.h>
#include <rte_dev.h>
@@
-3137,13
+3137,13
@@
ixgbe_flow_create(struct rte_eth_dev *dev,
rte_memcpy(&fdir_info->mask,
&fdir_rule.mask,
sizeof(struct ixgbe_hw_fdir_mask));
rte_memcpy(&fdir_info->mask,
&fdir_rule.mask,
sizeof(struct ixgbe_hw_fdir_mask));
- fdir_info->flex_bytes_offset =
- fdir_rule.flex_bytes_offset;
- if (fdir_rule.mask.flex_bytes_mask)
- ixgbe_fdir_set_flexbytes_offset(dev,
+ if (fdir_rule.mask.flex_bytes_mask)
{
+
ret =
ixgbe_fdir_set_flexbytes_offset(dev,
fdir_rule.flex_bytes_offset);
fdir_rule.flex_bytes_offset);
-
+ if (ret)
+ goto out;
+ }
ret = ixgbe_fdir_set_input_mask(dev);
if (ret)
goto out;
ret = ixgbe_fdir_set_input_mask(dev);
if (ret)
goto out;
@@
-3161,8
+3161,9
@@
ixgbe_flow_create(struct rte_eth_dev *dev,
if (ret)
goto out;
if (ret)
goto out;
- if (fdir_info->flex_bytes_offset !=
- fdir_rule.flex_bytes_offset)
+ if (fdir_rule.mask.flex_bytes_mask &&
+ fdir_info->flex_bytes_offset !=
+ fdir_rule.flex_bytes_offset)
goto out;
}
}
goto out;
}
}
@@
-3436,6
+3437,7
@@
ixgbe_flow_destroy(struct rte_eth_dev *dev,
TAILQ_REMOVE(&ixgbe_flow_list,
ixgbe_flow_mem_ptr, entries);
rte_free(ixgbe_flow_mem_ptr);
TAILQ_REMOVE(&ixgbe_flow_list,
ixgbe_flow_mem_ptr, entries);
rte_free(ixgbe_flow_mem_ptr);
+ break;
}
}
rte_free(flow);
}
}
rte_free(flow);