1. 24 Feb, 2015 9 commits
    • David S. Miller's avatar
      Merge branch 'bonding-next' · 8ff3ac06
      David S. Miller authored
      Mahesh Bandewar says:
      
      ====================
      (Shortened) Bonding patch series
      
      I'm shortening the earlier patch series to just two patches at this moment.
      Andy is going to integrate remaining 3 patches with his netlink changes
      and post the completed patches.
      
      These two patches are the same one from the previous patch series with
      some styling changes (Dave Miller's suggestions) for the churn-machine patch.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ff3ac06
    • Mahesh Bandewar's avatar
      bonding: Implement port churn-machine (AD standard 43.4.17). · 14c9551a
      Mahesh Bandewar authored
      The Churn Detection machines detect the situation where a port is operable,
      but the Actor and Partner have not attached the link to an Aggregator and
      brought the link into operation within a bound time period. Under normal
      operation of the LACP, agreement between Actor and Partner should be reached
      very rapidly. Continued failure to reach agreement can be symptomatic of
      device failure.
      
      Actor-churn-detection state-machine
      Reviewed-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
      
      ===================================
      
      BEGIN=True + PortEnable=False
                 |
                 v
       +------------------------+   ActorPort.Sync=True  +------------------+
       |   ACTOR_CHURN_MONITOR  | ---------------------> |  NO_ACTOR_CHURN  |
       |========================|                        |==================|
       |    ActorChurn=False    |  ActorPort.Sync=False  | ActorChurn=False |
       | ActorChurn.Timer=Start | <--------------------- |                  |
       +------------------------+                        +------------------+
                 |                                                ^
                 |                                                |
        ActorChurn.Timer=Expired                                  |
                 |                                       ActorPort.Sync=True
                 |                                                |
                 |                +-----------------+             |
                 |                |   ACTOR_CHURN   |             |
                 |                |=================|             |
                 +--------------> | ActorChurn=True | ------------+
                                  |                 |
                                  +-----------------+
      
      Similar for the Partner-churn-detection.
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      14c9551a
    • Mahesh Bandewar's avatar
      bonding: Verify RX LACPDU has proper dest mac-addr · bb54e589
      Mahesh Bandewar authored
      The 802.1AX standard states:
      "The DA in LACPDUs is the Slow_Protocols_Multicast address."
      
      This patch enforces that and drops LACPDUs with destination MAC
      addresses other than Slow_Protocols_Multicast address
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Reviewed-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bb54e589
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 2a12d6cf
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2015-02-23
      
      This series contains updates to e1000e, igbvf, i40e and i40evf.
      
      David adds support for i219 devices to the e1000e driver.
      
      Jeff (me) provides two patches to cleanup igbvf, first cleans up the
      whitespace issues found and the second cleans up the usage of msleep(),
      min() and max() with usleep_range(), min_t() and max_t() respectively.
      
      Kamil updates the shadow RAM read/write functions by refactoring them
      to prepare for future work.
      
      Shannon renames the debugfs command "clear_stats pf" to clear_stats port"
      to clarify what the function really does.
      
      Mitch refactors the receive routine, by splitting the receive hot path
      code into two, one for packet split and one for single buffer, which
      improves receive performance.  Disables NAPI polling sooner when closing
      the interface to fix an occasional panic during close which was
      caused by the driver trying to delete and clean rings at the same time.
      Also refactors reset for i40evf, since a recent change to the shutdown
      flow messed up the reset flow.  Since i40evf_down() now holds the
      critical section lock, we cannot call it from the reset handler, which
      also holds the lock.
      
      Nicholas restricts the virtual channel opcodes should remain consistent
      between updates to the opcode enum.
      
      Neerav converts the VSI connection type to use a #define instead of
      using a magic number.
      
      Anjali updates the registers file to remove registers no longer available.
      Also fixes the EMPR interrupt handling, so that we won't trigger another
      EMPR when we receive an EMPR event.
      
      Catherine cleans up the variable an_enable since it was set and never
      used.
      
      Greg fixes the netdev op that allows the operator to turn MAC/VLAN
      spoof checking on and off so that it includes the flag for VLAN spoof
      checking.
      
      v2: Updated patch #10 in the series to use test_and_clear_bit() as
          suggested by Sergei Shtylyov
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2a12d6cf
    • David S. Miller's avatar
      Merge branch 'bcmgenet-next' · 1e0629d3
      David S. Miller authored
      Petri Gynther says:
      
      ====================
      net: bcmgenet: Tx init improvements
      
      Four small patches to improve bcmgenet Tx init:
      1. bcmgenet_init_tx_ring() cleanup
      2. rework Tx queue init
      3. precalculate TxCB->bd_addr
      4. rename bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1e0629d3
    • Petri Gynther's avatar
      net: bcmgenet: rename bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT · 51a966a7
      Petri Gynther authored
      bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT are used only in Tx init.
      Rename them accordingly:
      - bcmgenet_hw_params->bds_cnt => bcmgenet_hw_params->tx_bds_per_q
      - GENET_DEFAULT_BD_CNT => GENET_Q16_TX_BD_CNT
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      51a966a7
    • Petri Gynther's avatar
      net: bcmgenet: precalculate TxCB->bd_addr · 014012a4
      Petri Gynther authored
      There is 1-to-1 mapping between TxCBs and TxBDs. Precalculate TxCB->bd_addr
      once in bcmgenet_init_dma() instead of doing it over and over needlessly in
      bcmgenet_get_txcb().
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      014012a4
    • Petri Gynther's avatar
      net: bcmgenet: rework Tx queue init · 16c6d667
      Petri Gynther authored
      1. Rename bcmgenet_init_multiq() to bcmgenet_init_tx_queues()
      2. Fix bcmgenet_init_tx_queues() function description
      3. Move Tx default queue init inside bcmgenet_init_tx_queues()
      4. Modify bcmgenet_init_dma() to call bcmgenet_init_tx_queues()
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      16c6d667
    • Petri Gynther's avatar
      net: bcmgenet: bcmgenet_init_tx_ring() cleanup · 4f8b2d7d
      Petri Gynther authored
      1. Simplify function description
      2. Rename function parameter write_ptr to start_ptr to better indicate use
      3. Remove unnecessary local variable first_bd
      4. Remove out-of-place comment "Unclassified traffic goes to ring 16"
      5. Fix TDMA_WRITE_PTR register init
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4f8b2d7d
  2. 23 Feb, 2015 31 commits