[dpdk-dev] [PATCH v2 10/20] net/bnxt: allow only unicast MAC address filter creation
Ajit Khaparde
ajit.khaparde at broadcom.com
Thu Oct 3 01:25:51 CEST 2019
Check if the application is trying to create filters using
broadcast and multicast MAC address and reject it.
Signed-off-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
Reviewed-by: Rahul Gupta <rahul.gupta at broadcom.com>
Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur at broadcom.com>
---
drivers/net/bnxt/bnxt_flow.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
index aedbd6d13b..cdfbb6c22f 100644
--- a/drivers/net/bnxt/bnxt_flow.c
+++ b/drivers/net/bnxt/bnxt_flow.c
@@ -219,6 +219,14 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,
}
if (rte_is_broadcast_ether_addr(ð_mask->dst)) {
+ if (!rte_is_unicast_ether_addr(ð_spec->dst)) {
+ rte_flow_error_set(error,
+ EINVAL,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "DMAC is invalid");
+ return -rte_errno;
+ }
rte_memcpy(filter->dst_macaddr,
ð_spec->dst, RTE_ETHER_ADDR_LEN);
en |= use_ntuple ?
@@ -233,6 +241,14 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp,
}
if (rte_is_broadcast_ether_addr(ð_mask->src)) {
+ if (!rte_is_unicast_ether_addr(ð_spec->src)) {
+ rte_flow_error_set(error,
+ EINVAL,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "SMAC is invalid");
+ return -rte_errno;
+ }
rte_memcpy(filter->src_macaddr,
ð_spec->src, RTE_ETHER_ADDR_LEN);
en |= use_ntuple ?
--
2.20.1 (Apple Git-117)
More information about the dev
mailing list