mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
net: enetc: use MADDR_TYPE for MAC filter array size
The mac_filter array in struct enetc_pf is sized as ENETC_MAX_NUM_MAC_FLT, defined as (ENETC_MAX_NUM_VFS + 1) * MADDR_TYPE. This resulted in an array of 6 elements (for 2 VFs), but only the first 2 entries are actually used. The PF driver maintains MAC filters for unicast (UC) and multicast (MC) addresses, indexed by the enum enetc_mac_addr_type (UC=0, MC=1). The code only iterates over MADDR_TYPE (2) entries and directly accesses mac_filter[UC] and mac_filter[MC]. The extra space allocated for (ENETC_MAX_NUM_VFS * MADDR_TYPE) entries is never used because VF MAC filtering is not implemented yet. Remove the ENETC_MAX_NUM_MAC_FLT macro and size the array as MADDR_TYPE, reducing the allocation from 6 to 2 entries. This saves 48 bytes per PF and better reflects the actual usage. This change has no functional impact. Future VF MAC filtering support will move mac_filter into struct enetc_si, allowing each SI (PF or VF) to maintain its own independent filter table. Signed-off-by: Wei Fang <wei.fang@nxp.com> Link: https://patch.msgid.link/20260522092438.1264020-12-wei.fang@nxp.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
250069ef0d
commit
c55a33014b
|
|
@ -5,8 +5,6 @@
|
|||
#include <linux/phylink.h>
|
||||
|
||||
#define ENETC_PF_NUM_RINGS 8
|
||||
#define ENETC_MAX_NUM_MAC_FLT ((ENETC_MAX_NUM_VFS + 1) * MADDR_TYPE)
|
||||
|
||||
#define ENETC_VLAN_HT_SIZE 64
|
||||
|
||||
enum enetc_vf_flags {
|
||||
|
|
@ -43,7 +41,7 @@ struct enetc_pf {
|
|||
int total_vfs; /* max number of VFs, set for PF at probe */
|
||||
struct enetc_vf_state *vf_state;
|
||||
|
||||
struct enetc_mac_filter mac_filter[ENETC_MAX_NUM_MAC_FLT];
|
||||
struct enetc_mac_filter mac_filter[MADDR_TYPE];
|
||||
|
||||
struct enetc_msg_swbd rxmsg[ENETC_MAX_NUM_VFS];
|
||||
struct work_struct msg_task;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user