igc: Unify filtering rule fields
authorKurt Kanzenbach <kurt@linutronix.de>
Wed, 24 Jan 2024 08:55:32 +0000 (09:55 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 7 Feb 2024 17:29:28 +0000 (09:29 -0800)
All filtering parameters such as EtherType and VLAN TCI are stored in host
byte order except for the VLAN EtherType. Unify it.

Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/igc/igc.h
drivers/net/ethernet/intel/igc/igc_ethtool.c
drivers/net/ethernet/intel/igc/igc_main.c

index 75f7c5ba65e091196641f512bf41179b04cb877c..d5833c057de46b7e8aa645a1d409bbedfa793a9c 100644 (file)
@@ -585,7 +585,7 @@ enum igc_filter_match_flags {
 struct igc_nfc_filter {
        u8 match_flags;
        u16 etype;
-       __be16 vlan_etype;
+       u16 vlan_etype;
        u16 vlan_tci;
        u16 vlan_tci_mask;
        u8 src_addr[ETH_ALEN];
index 7f844e9674219f50576a9440b925b347b8e60be1..47c797dd2cd9cedde4f4655a04dbba9c8694fd56 100644 (file)
@@ -981,7 +981,7 @@ static int igc_ethtool_get_nfc_rule(struct igc_adapter *adapter,
 
        if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_ETYPE) {
                fsp->flow_type |= FLOW_EXT;
-               fsp->h_ext.vlan_etype = rule->filter.vlan_etype;
+               fsp->h_ext.vlan_etype = htons(rule->filter.vlan_etype);
                fsp->m_ext.vlan_etype = ETHER_TYPE_FULL_MASK;
        }
 
@@ -1249,7 +1249,7 @@ static void igc_ethtool_init_nfc_rule(struct igc_nfc_rule *rule,
 
        /* VLAN etype matching */
        if ((fsp->flow_type & FLOW_EXT) && fsp->h_ext.vlan_etype) {
-               rule->filter.vlan_etype = fsp->h_ext.vlan_etype;
+               rule->filter.vlan_etype = ntohs(fsp->h_ext.vlan_etype);
                rule->filter.match_flags |= IGC_FILTER_FLAG_VLAN_ETYPE;
        }
 
index 91297b56151935c3a00c2db7cb25579898e81d57..c3fe62813f434e308b0dc117fd13ab31f4929037 100644 (file)
@@ -3614,10 +3614,12 @@ static int igc_add_flex_filter(struct igc_adapter *adapter,
                                          ETH_ALEN, NULL);
 
        /* Add VLAN etype */
-       if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_ETYPE)
-               igc_flex_filter_add_field(&flex, &filter->vlan_etype, 12,
-                                         sizeof(filter->vlan_etype),
-                                         NULL);
+       if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_ETYPE) {
+               __be16 vlan_etype = cpu_to_be16(filter->vlan_etype);
+
+               igc_flex_filter_add_field(&flex, &vlan_etype, 12,
+                                         sizeof(vlan_etype), NULL);
+       }
 
        /* Add VLAN TCI */
        if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_TCI)