]> www.infradead.org Git - users/jedix/linux-maple.git/commit
i40e: make use of __dev_uc_sync and __dev_mc_sync
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 5 Oct 2016 16:30:32 +0000 (09:30 -0700)
committerDhaval Giani <dhaval.giani@oracle.com>
Wed, 8 Mar 2017 00:40:33 +0000 (19:40 -0500)
commita936d9d28ce2728cb04fde46077e903783bf91a8
tree77c2a7d604035f6d074190f9317fe1ea4e361077
parent190df2b04c16d94ecb1511cb2298c8d5ba2ec1b0
i40e: make use of __dev_uc_sync and __dev_mc_sync

Orabug: 24568124

The kernel provides __dev_uc_sync and __dev_mc_sync in order for drivers
which need individual notification of add and delete for each filter.
These functions allow us to vastly simplify our .set_rx_mode handler. We
need to implement two functions for sync and unsync which add and remove
filters respectively.

This change avoids a very complex and inefficient algorithm which
resulted in an abnormal latency for the .set_rx_mode NDO operation. The
resulting code after this change is more readable, more efficient, and
less code.

Due to the callback signature used by these functions we also must
update several other functions to take a const u8 * pointer.

Change-Id: I2ca7fd4e10c0c07ed2291db1ea41bf5987fc6474
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 6622f5cdbaf3786314d76969d2aab132b36ba2e8)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c