From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) by dpdk.org (Postfix) with ESMTP id 67B6C69FA for ; Tue, 4 Feb 2014 14:58:40 +0100 (CET) Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd001.nsn-inter.net (8.12.11.20060308/8.12.11) with ESMTP id s14E01oE016980 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 4 Feb 2014 15:00:01 +0100 Received: from ak-desktop.emea.nsn-net.net ([10.144.36.74]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id s14E00KR017787; Tue, 4 Feb 2014 15:00:00 +0100 From: Aaro Koskinen To: dev@dpdk.org Date: Tue, 4 Feb 2014 15:59:09 +0200 Message-Id: <1391522349-7096-1-git-send-email-aaro.koskinen@nsn.com> X-Mailer: git-send-email 1.8.5.1 X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-size: 3446 X-purgate-ID: 151667::1391522401-000025D0-2E41863F/0-0/0-0 Subject: [dpdk-dev] [PATCH] igb/ixgbe: use ether_addr_equal() X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Feb 2014 13:58:40 -0000 ether_addr_equal() was added in Linux 3.5. compare_ether_addr() was deleted in 3.14. Start using ether_addr_equal() and provide an own implementation for older kernels. This fixes the compilation with Linux 3.14-rc1. Signed-off-by: Aaro Koskinen --- lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 2 +- lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 4 ++++ lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c | 2 +- lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h | 4 ++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c index f199133..ffb9fae 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c @@ -8399,7 +8399,7 @@ int igb_del_mac_filter(struct igb_adapter *adapter, u8* addr, u16 queue) if (is_zero_ether_addr(addr)) return 0; for (i = 0; i < hw->mac.rar_entry_count; i++) { - if (!compare_ether_addr(addr, adapter->mac_table[i].addr) && + if (ether_addr_equal(addr, adapter->mac_table[i].addr) && adapter->mac_table[i].queue == queue) { adapter->mac_table[i].state = IGB_MAC_STATE_MODIFIED; memset(adapter->mac_table[i].addr, 0, ETH_ALEN); diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h index 1d86c2b..1418c76 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h @@ -3049,6 +3049,10 @@ typedef netdev_features_t kni_netdev_features_t; /*****************************************************************************/ #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) ) +static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2) +{ + return !compare_ether_addr(addr1, addr2); +} #else #define HAVE_FDB_OPS #endif /* < 3.5.0 */ diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c index 947be44..cb56906 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c +++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c @@ -525,7 +525,7 @@ int ixgbe_del_mac_filter(struct ixgbe_adapter *adapter, u8* addr, u16 queue) if (is_zero_ether_addr(addr)) return 0; for (i = 0; i < hw->mac.num_rar_entries; i++) { - if (!compare_ether_addr(addr, adapter->mac_table[i].addr) && + if (ether_addr_equal(addr, adapter->mac_table[i].addr) && adapter->mac_table[i].queue == queue) { adapter->mac_table[i].state |= IXGBE_MAC_STATE_MODIFIED; adapter->mac_table[i].state &= ~IXGBE_MAC_STATE_IN_USE; diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h index 1c4e057..57beb7f 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h +++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h @@ -3106,6 +3106,10 @@ typedef netdev_features_t kni_netdev_features_t; /*****************************************************************************/ #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) ) +static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2) +{ + return !compare_ether_addr(addr1, addr2); +} #else #define HAVE_FDB_OPS #endif /* < 3.5.0 */ -- 1.8.5.1