* [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e)
@ 2023-08-16 19:33 Tony Nguyen
2023-08-16 19:33 ` [PATCH net 1/2] iavf: fix FDIR rule fields masks validation Tony Nguyen
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Tony Nguyen @ 2023-08-16 19:33 UTC (permalink / raw)
To: davem, kuba, pabeni, edumazet, netdev; +Cc: Tony Nguyen
This series contains updates to iavf and i40e drivers.
Piotr adds checks for unsupported Flow Director rules on iavf.
Andrii replaces incorrect 'write' messaging on read operations for i40e.
The following are changes since commit de4c5efeeca7172306bdc2e3efc0c6c3953bb338:
Merge tag 'nf-23-08-16' of https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue 40GbE
Andrii Staikov (1):
i40e: fix misleading debug logs
Piotr Gardocki (1):
iavf: fix FDIR rule fields masks validation
drivers/net/ethernet/intel/i40e/i40e_nvm.c | 16 ++--
.../net/ethernet/intel/iavf/iavf_ethtool.c | 10 +++
drivers/net/ethernet/intel/iavf/iavf_fdir.c | 77 ++++++++++++++++++-
drivers/net/ethernet/intel/iavf/iavf_fdir.h | 2 +
4 files changed, 93 insertions(+), 12 deletions(-)
--
2.38.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH net 1/2] iavf: fix FDIR rule fields masks validation
2023-08-16 19:33 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e) Tony Nguyen
@ 2023-08-16 19:33 ` Tony Nguyen
2023-08-17 11:27 ` Leon Romanovsky
2023-08-16 19:33 ` [PATCH net 2/2] i40e: fix misleading debug logs Tony Nguyen
2023-08-17 21:40 ` [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e) patchwork-bot+netdevbpf
2 siblings, 1 reply; 7+ messages in thread
From: Tony Nguyen @ 2023-08-16 19:33 UTC (permalink / raw)
To: davem, kuba, pabeni, edumazet, netdev
Cc: Piotr Gardocki, anthony.l.nguyen, Rafal Romanowski
From: Piotr Gardocki <piotrx.gardocki@intel.com>
Return an error if a field's mask is neither full nor empty. When a mask
is only partial the field is not being used for rule programming but it
gives a wrong impression it is used. Fix by returning an error on any
partial mask to make it clear they are not supported.
The ip_ver assignment is moved earlier in code to allow using it in
iavf_validate_fdir_fltr_masks.
Fixes: 527691bf0682 ("iavf: Support IPv4 Flow Director filters")
Fixes: e90cbc257a6f ("iavf: Support IPv6 Flow Director filters")
Signed-off-by: Piotr Gardocki <piotrx.gardocki@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
.../net/ethernet/intel/iavf/iavf_ethtool.c | 10 +++
drivers/net/ethernet/intel/iavf/iavf_fdir.c | 77 ++++++++++++++++++-
drivers/net/ethernet/intel/iavf/iavf_fdir.h | 2 +
3 files changed, 85 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
index 460ca561819a..a34303ad057d 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
@@ -1289,6 +1289,7 @@ iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spe
fltr->ip_mask.src_port = fsp->m_u.tcp_ip4_spec.psrc;
fltr->ip_mask.dst_port = fsp->m_u.tcp_ip4_spec.pdst;
fltr->ip_mask.tos = fsp->m_u.tcp_ip4_spec.tos;
+ fltr->ip_ver = 4;
break;
case AH_V4_FLOW:
case ESP_V4_FLOW:
@@ -1300,6 +1301,7 @@ iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spe
fltr->ip_mask.v4_addrs.dst_ip = fsp->m_u.ah_ip4_spec.ip4dst;
fltr->ip_mask.spi = fsp->m_u.ah_ip4_spec.spi;
fltr->ip_mask.tos = fsp->m_u.ah_ip4_spec.tos;
+ fltr->ip_ver = 4;
break;
case IPV4_USER_FLOW:
fltr->ip_data.v4_addrs.src_ip = fsp->h_u.usr_ip4_spec.ip4src;
@@ -1312,6 +1314,7 @@ iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spe
fltr->ip_mask.l4_header = fsp->m_u.usr_ip4_spec.l4_4_bytes;
fltr->ip_mask.tos = fsp->m_u.usr_ip4_spec.tos;
fltr->ip_mask.proto = fsp->m_u.usr_ip4_spec.proto;
+ fltr->ip_ver = 4;
break;
case TCP_V6_FLOW:
case UDP_V6_FLOW:
@@ -1330,6 +1333,7 @@ iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spe
fltr->ip_mask.src_port = fsp->m_u.tcp_ip6_spec.psrc;
fltr->ip_mask.dst_port = fsp->m_u.tcp_ip6_spec.pdst;
fltr->ip_mask.tclass = fsp->m_u.tcp_ip6_spec.tclass;
+ fltr->ip_ver = 6;
break;
case AH_V6_FLOW:
case ESP_V6_FLOW:
@@ -1345,6 +1349,7 @@ iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spe
sizeof(struct in6_addr));
fltr->ip_mask.spi = fsp->m_u.ah_ip6_spec.spi;
fltr->ip_mask.tclass = fsp->m_u.ah_ip6_spec.tclass;
+ fltr->ip_ver = 6;
break;
case IPV6_USER_FLOW:
memcpy(&fltr->ip_data.v6_addrs.src_ip, fsp->h_u.usr_ip6_spec.ip6src,
@@ -1361,6 +1366,7 @@ iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spe
fltr->ip_mask.l4_header = fsp->m_u.usr_ip6_spec.l4_4_bytes;
fltr->ip_mask.tclass = fsp->m_u.usr_ip6_spec.tclass;
fltr->ip_mask.proto = fsp->m_u.usr_ip6_spec.l4_proto;
+ fltr->ip_ver = 6;
break;
case ETHER_FLOW:
fltr->eth_data.etype = fsp->h_u.ether_spec.h_proto;
@@ -1371,6 +1377,10 @@ iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spe
return -EINVAL;
}
+ err = iavf_validate_fdir_fltr_masks(adapter, fltr);
+ if (err)
+ return err;
+
if (iavf_fdir_is_dup_fltr(adapter, fltr))
return -EEXIST;
diff --git a/drivers/net/ethernet/intel/iavf/iavf_fdir.c b/drivers/net/ethernet/intel/iavf/iavf_fdir.c
index 505e82ebafe4..03e774bd2a5b 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_fdir.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_fdir.c
@@ -18,6 +18,79 @@ static const struct in6_addr ipv6_addr_full_mask = {
}
};
+static const struct in6_addr ipv6_addr_zero_mask = {
+ .in6_u = {
+ .u6_addr8 = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ }
+ }
+};
+
+/**
+ * iavf_validate_fdir_fltr_masks - validate Flow Director filter fields masks
+ * @adapter: pointer to the VF adapter structure
+ * @fltr: Flow Director filter data structure
+ *
+ * Returns 0 if all masks of packet fields are either full or empty. Returns
+ * error on at least one partial mask.
+ */
+int iavf_validate_fdir_fltr_masks(struct iavf_adapter *adapter,
+ struct iavf_fdir_fltr *fltr)
+{
+ if (fltr->eth_mask.etype && fltr->eth_mask.etype != htons(U16_MAX))
+ goto partial_mask;
+
+ if (fltr->ip_ver == 4) {
+ if (fltr->ip_mask.v4_addrs.src_ip &&
+ fltr->ip_mask.v4_addrs.src_ip != htonl(U32_MAX))
+ goto partial_mask;
+
+ if (fltr->ip_mask.v4_addrs.dst_ip &&
+ fltr->ip_mask.v4_addrs.dst_ip != htonl(U32_MAX))
+ goto partial_mask;
+
+ if (fltr->ip_mask.tos && fltr->ip_mask.tos != U8_MAX)
+ goto partial_mask;
+ } else if (fltr->ip_ver == 6) {
+ if (memcmp(&fltr->ip_mask.v6_addrs.src_ip, &ipv6_addr_zero_mask,
+ sizeof(struct in6_addr)) &&
+ memcmp(&fltr->ip_mask.v6_addrs.src_ip, &ipv6_addr_full_mask,
+ sizeof(struct in6_addr)))
+ goto partial_mask;
+
+ if (memcmp(&fltr->ip_mask.v6_addrs.dst_ip, &ipv6_addr_zero_mask,
+ sizeof(struct in6_addr)) &&
+ memcmp(&fltr->ip_mask.v6_addrs.dst_ip, &ipv6_addr_full_mask,
+ sizeof(struct in6_addr)))
+ goto partial_mask;
+
+ if (fltr->ip_mask.tclass && fltr->ip_mask.tclass != U8_MAX)
+ goto partial_mask;
+ }
+
+ if (fltr->ip_mask.proto && fltr->ip_mask.proto != U8_MAX)
+ goto partial_mask;
+
+ if (fltr->ip_mask.src_port && fltr->ip_mask.src_port != htons(U16_MAX))
+ goto partial_mask;
+
+ if (fltr->ip_mask.dst_port && fltr->ip_mask.dst_port != htons(U16_MAX))
+ goto partial_mask;
+
+ if (fltr->ip_mask.spi && fltr->ip_mask.spi != htonl(U32_MAX))
+ goto partial_mask;
+
+ if (fltr->ip_mask.l4_header &&
+ fltr->ip_mask.l4_header != htonl(U32_MAX))
+ goto partial_mask;
+
+ return 0;
+
+partial_mask:
+ dev_err(&adapter->pdev->dev, "Failed to add Flow Director filter, partial masks are not supported\n");
+ return -EOPNOTSUPP;
+}
+
/**
* iavf_pkt_udp_no_pay_len - the length of UDP packet without payload
* @fltr: Flow Director filter data structure
@@ -263,8 +336,6 @@ iavf_fill_fdir_ip4_hdr(struct iavf_fdir_fltr *fltr,
VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, IPV4, DST);
}
- fltr->ip_ver = 4;
-
return 0;
}
@@ -309,8 +380,6 @@ iavf_fill_fdir_ip6_hdr(struct iavf_fdir_fltr *fltr,
VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, IPV6, DST);
}
- fltr->ip_ver = 6;
-
return 0;
}
diff --git a/drivers/net/ethernet/intel/iavf/iavf_fdir.h b/drivers/net/ethernet/intel/iavf/iavf_fdir.h
index 33c55c366315..9eb9f73f6adf 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_fdir.h
+++ b/drivers/net/ethernet/intel/iavf/iavf_fdir.h
@@ -110,6 +110,8 @@ struct iavf_fdir_fltr {
struct virtchnl_fdir_add vc_add_msg;
};
+int iavf_validate_fdir_fltr_masks(struct iavf_adapter *adapter,
+ struct iavf_fdir_fltr *fltr);
int iavf_fill_fdir_add_msg(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr);
void iavf_print_fdir_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr);
bool iavf_fdir_is_dup_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr);
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net 2/2] i40e: fix misleading debug logs
2023-08-16 19:33 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e) Tony Nguyen
2023-08-16 19:33 ` [PATCH net 1/2] iavf: fix FDIR rule fields masks validation Tony Nguyen
@ 2023-08-16 19:33 ` Tony Nguyen
2023-08-17 11:28 ` Leon Romanovsky
2023-08-17 21:40 ` [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e) patchwork-bot+netdevbpf
2 siblings, 1 reply; 7+ messages in thread
From: Tony Nguyen @ 2023-08-16 19:33 UTC (permalink / raw)
To: davem, kuba, pabeni, edumazet, netdev
Cc: Andrii Staikov, anthony.l.nguyen, shannon.nelson,
Aleksandr Loktionov
From: Andrii Staikov <andrii.staikov@intel.com>
Change "write" into the actual "read" word.
Change parameters description.
Fixes: 7073f46e443e ("i40e: Add AQ commands for NVM Update for X722")
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Andrii Staikov <andrii.staikov@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_nvm.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_nvm.c b/drivers/net/ethernet/intel/i40e/i40e_nvm.c
index 9da0c87f0328..f99c1f7fec40 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_nvm.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_nvm.c
@@ -210,11 +210,11 @@ static int i40e_read_nvm_word_srctl(struct i40e_hw *hw, u16 offset,
* @hw: pointer to the HW structure.
* @module_pointer: module pointer location in words from the NVM beginning
* @offset: offset in words from module start
- * @words: number of words to write
- * @data: buffer with words to write to the Shadow RAM
+ * @words: number of words to read
+ * @data: buffer with words to read to the Shadow RAM
* @last_command: tells the AdminQ that this is the last command
*
- * Writes a 16 bit words buffer to the Shadow RAM using the admin command.
+ * Reads a 16 bit words buffer to the Shadow RAM using the admin command.
**/
static int i40e_read_nvm_aq(struct i40e_hw *hw,
u8 module_pointer, u32 offset,
@@ -234,18 +234,18 @@ static int i40e_read_nvm_aq(struct i40e_hw *hw,
*/
if ((offset + words) > hw->nvm.sr_size)
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM write error: offset %d beyond Shadow RAM limit %d\n",
+ "NVM read error: offset %d beyond Shadow RAM limit %d\n",
(offset + words), hw->nvm.sr_size);
else if (words > I40E_SR_SECTOR_SIZE_IN_WORDS)
- /* We can write only up to 4KB (one sector), in one AQ write */
+ /* We can read only up to 4KB (one sector), in one AQ write */
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM write fail error: tried to write %d words, limit is %d.\n",
+ "NVM read fail error: tried to read %d words, limit is %d.\n",
words, I40E_SR_SECTOR_SIZE_IN_WORDS);
else if (((offset + (words - 1)) / I40E_SR_SECTOR_SIZE_IN_WORDS)
!= (offset / I40E_SR_SECTOR_SIZE_IN_WORDS))
- /* A single write cannot spread over two sectors */
+ /* A single read cannot spread over two sectors */
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM write error: cannot spread over two sectors in a single write offset=%d words=%d\n",
+ "NVM read error: cannot spread over two sectors in a single read offset=%d words=%d\n",
offset, words);
else
ret_code = i40e_aq_read_nvm(hw, module_pointer,
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH net 1/2] iavf: fix FDIR rule fields masks validation
2023-08-16 19:33 ` [PATCH net 1/2] iavf: fix FDIR rule fields masks validation Tony Nguyen
@ 2023-08-17 11:27 ` Leon Romanovsky
2023-08-18 9:38 ` Piotr Gardocki
0 siblings, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2023-08-17 11:27 UTC (permalink / raw)
To: Tony Nguyen
Cc: davem, kuba, pabeni, edumazet, netdev, Piotr Gardocki,
Rafal Romanowski
On Wed, Aug 16, 2023 at 12:33:07PM -0700, Tony Nguyen wrote:
> From: Piotr Gardocki <piotrx.gardocki@intel.com>
>
> Return an error if a field's mask is neither full nor empty. When a mask
> is only partial the field is not being used for rule programming but it
> gives a wrong impression it is used. Fix by returning an error on any
> partial mask to make it clear they are not supported.
> The ip_ver assignment is moved earlier in code to allow using it in
> iavf_validate_fdir_fltr_masks.
>
> Fixes: 527691bf0682 ("iavf: Support IPv4 Flow Director filters")
> Fixes: e90cbc257a6f ("iavf: Support IPv6 Flow Director filters")
> Signed-off-by: Piotr Gardocki <piotrx.gardocki@intel.com>
> Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
> ---
> .../net/ethernet/intel/iavf/iavf_ethtool.c | 10 +++
> drivers/net/ethernet/intel/iavf/iavf_fdir.c | 77 ++++++++++++++++++-
> drivers/net/ethernet/intel/iavf/iavf_fdir.h | 2 +
> 3 files changed, 85 insertions(+), 4 deletions(-)
<...>
> +static const struct in6_addr ipv6_addr_zero_mask = {
> + .in6_u = {
> + .u6_addr8 = {
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> + }
> + }
> +};
> +
Static variables are zeroed by default, there is no need in direct assignment of 0s.
Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net 2/2] i40e: fix misleading debug logs
2023-08-16 19:33 ` [PATCH net 2/2] i40e: fix misleading debug logs Tony Nguyen
@ 2023-08-17 11:28 ` Leon Romanovsky
0 siblings, 0 replies; 7+ messages in thread
From: Leon Romanovsky @ 2023-08-17 11:28 UTC (permalink / raw)
To: Tony Nguyen
Cc: davem, kuba, pabeni, edumazet, netdev, Andrii Staikov,
shannon.nelson, Aleksandr Loktionov
On Wed, Aug 16, 2023 at 12:33:08PM -0700, Tony Nguyen wrote:
> From: Andrii Staikov <andrii.staikov@intel.com>
>
> Change "write" into the actual "read" word.
> Change parameters description.
>
> Fixes: 7073f46e443e ("i40e: Add AQ commands for NVM Update for X722")
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> Signed-off-by: Andrii Staikov <andrii.staikov@intel.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
> ---
> drivers/net/ethernet/intel/i40e/i40e_nvm.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e)
2023-08-16 19:33 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e) Tony Nguyen
2023-08-16 19:33 ` [PATCH net 1/2] iavf: fix FDIR rule fields masks validation Tony Nguyen
2023-08-16 19:33 ` [PATCH net 2/2] i40e: fix misleading debug logs Tony Nguyen
@ 2023-08-17 21:40 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-08-17 21:40 UTC (permalink / raw)
To: Tony Nguyen; +Cc: davem, kuba, pabeni, edumazet, netdev
Hello:
This series was applied to netdev/net.git (main)
by Tony Nguyen <anthony.l.nguyen@intel.com>:
On Wed, 16 Aug 2023 12:33:06 -0700 you wrote:
> This series contains updates to iavf and i40e drivers.
>
> Piotr adds checks for unsupported Flow Director rules on iavf.
>
> Andrii replaces incorrect 'write' messaging on read operations for i40e.
>
> The following are changes since commit de4c5efeeca7172306bdc2e3efc0c6c3953bb338:
> Merge tag 'nf-23-08-16' of https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue 40GbE
>
> [...]
Here is the summary with links:
- [net,1/2] iavf: fix FDIR rule fields masks validation
https://git.kernel.org/netdev/net/c/751969e5b119
- [net,2/2] i40e: fix misleading debug logs
https://git.kernel.org/netdev/net/c/2f2beb8874cb
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net 1/2] iavf: fix FDIR rule fields masks validation
2023-08-17 11:27 ` Leon Romanovsky
@ 2023-08-18 9:38 ` Piotr Gardocki
0 siblings, 0 replies; 7+ messages in thread
From: Piotr Gardocki @ 2023-08-18 9:38 UTC (permalink / raw)
To: Leon Romanovsky, Tony Nguyen
Cc: davem, kuba, pabeni, edumazet, netdev, Rafal Romanowski
On 17.08.2023 13:27, Leon Romanovsky wrote:
> On Wed, Aug 16, 2023 at 12:33:07PM -0700, Tony Nguyen wrote:
>> From: Piotr Gardocki <piotrx.gardocki@intel.com>
>>
>> Return an error if a field's mask is neither full nor empty. When a mask
>> is only partial the field is not being used for rule programming but it
>> gives a wrong impression it is used. Fix by returning an error on any
>> partial mask to make it clear they are not supported.
>> The ip_ver assignment is moved earlier in code to allow using it in
>> iavf_validate_fdir_fltr_masks.
>>
>> Fixes: 527691bf0682 ("iavf: Support IPv4 Flow Director filters")
>> Fixes: e90cbc257a6f ("iavf: Support IPv6 Flow Director filters")
>> Signed-off-by: Piotr Gardocki <piotrx.gardocki@intel.com>
>> Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
>> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
>> ---
>> .../net/ethernet/intel/iavf/iavf_ethtool.c | 10 +++
>> drivers/net/ethernet/intel/iavf/iavf_fdir.c | 77 ++++++++++++++++++-
>> drivers/net/ethernet/intel/iavf/iavf_fdir.h | 2 +
>> 3 files changed, 85 insertions(+), 4 deletions(-)
>
> <...>
>
>> +static const struct in6_addr ipv6_addr_zero_mask = {
>> + .in6_u = {
>> + .u6_addr8 = {
>> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
>> + }
>> + }
>> +};
>> +
>
> Static variables are zeroed by default, there is no need in direct assignment of 0s.
Thanks for comment, I will change that to:
static const struct in6_addr ipv6_addr_zero_mask;
>
> Thanks,
> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-08-18 9:39 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-16 19:33 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e) Tony Nguyen
2023-08-16 19:33 ` [PATCH net 1/2] iavf: fix FDIR rule fields masks validation Tony Nguyen
2023-08-17 11:27 ` Leon Romanovsky
2023-08-18 9:38 ` Piotr Gardocki
2023-08-16 19:33 ` [PATCH net 2/2] i40e: fix misleading debug logs Tony Nguyen
2023-08-17 11:28 ` Leon Romanovsky
2023-08-17 21:40 ` [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2023-08-16 (iavf, i40e) patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).