1. 24 8月, 2015 14 次提交
    • J
      tipc: interrupt link synchronization when a link goes down · 5ae2f8e6
      Jon Paul Maloy 提交于
      When we introduced the new link failover/synch mechanism
      in commit 6e498158
      ("tipc: move link synch and failover to link aggregation level"),
      we missed the case when the non-tunnel link goes down during the link
      synchronization period. In this case the tunnel link will remain in
      state LINK_SYNCHING, something leading to unpredictable behavior when
      the failover procedure is initiated.
      
      In this commit, we ensure that the node and remaining link goes
      back to regular communication state (SELF_UP_PEER_UP/LINK_ESTABLISHED)
      when one of the parallel links goes down. We also ensure that we don't
      re-enter synch mode if subsequent SYNCH packets arrive on the remaining
      link.
      Reviewed-by: NYing Xue <ying.xue@windriver.com>
      Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5ae2f8e6
    • J
      tipc: eliminate risk of premature link setup during failover · 17b20630
      Jon Paul Maloy 提交于
      When a link goes down, and there is still a working link towards its
      destination node, a failover is initiated, and the failed link is not
      allowed to re-establish until that procedure is finished. To ensure
      this, the concerned link endpoints are set to state LINK_FAILINGOVER,
      and the node endpoints to NODE_FAILINGOVER during the failover period.
      
      However, if the link reset is due to a disabled bearer, the corres-
      ponding link endpoint is deleted, and only the node endpoint knows
      about the ongoing failover. Now, if the disabled bearer is re-enabled
      during the failover period, the discovery mechanism may create a new
      link endpoint that is ready to be established, despite that this is not
      permitted. This situation may cause both the ongoing failover and any
      subsequent link synchronization to fail.
      
      In this commit, we ensure that a newly created link goes directly to
      state LINK_FAILINGOVER if the corresponding node state is
      NODE_FAILINGOVER. This eliminates the problem described above.
      
      Furthermore, we tighten the criteria for which packets are allowed
      to end a failover state in the function tipc_node_check_state().
      By checking that the receiving link is up and running, instead of just
      checking that it is not in failover mode, we eliminate the risk that
      protocol packets from the re-created link may cause the failover to
      be prematurely terminated.
      Reviewed-by: NYing Xue <ying.xue@windriver.com>
      Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      17b20630
    • D
      Merge branch 'nps_enet_fixes' · 7f629be1
      David S. Miller 提交于
      Noam Camus says:
      
      ====================
      *** nps_enet fixups ***
      
      Change v2
      TX done is handled back with NAPI poll.
      
      Change v1
      This patch set is a bunch of fixes to make nps_enet work correctly with
      all platforms, i.e. real device, emulation system, and simulation system.
      The main trigger for this patch set was that in our emulation system
      the TX end interrupt is "edge-sensitive" and therefore we cannot use the
      cause register since it is not sticky.
      Also:
      TX is handled during HW interrupt context and not NAPI job.
      race with TX done was fixed.
      added acknowledge for TX when device is "level sensitive".
      enable drop of control frames which is not needed for regular usage.
      
      So most of this patch set is about TX handling, which is now more complete.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f629be1
    • N
      NET: nps_enet: minor namespace cleanup · 41493795
      Noam Camus 提交于
      We define buf_int_enable in the minimal namespace it is used.
      Signed-off-by: NNoam Camus <noamc@ezchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      41493795
    • N
      NET: nps_enet: TX done acknowledge. · 3d99b74a
      Noam Camus 提交于
      This is needed for when TX done interrupt is in
      "level mode".
      For example it is true for some simulators of this device.
      Signed-off-by: NNoam Camus <noamc@ezchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3d99b74a
    • N
      NET: nps_enet: drop control frames · de671567
      Noam Camus 提交于
      We set controller to drop control frames and not trying
      to pass them on. This is only needed for debug reasons.
      Signed-off-by: NNoam Camus <noamc@ezchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      de671567
    • N
      NET: nps_enet: TX done race condition · 93fcf83e
      Noam Camus 提交于
      We need to set tx_skb pointer before send frame.
      If we receive interrupt before we set pointer we will try
      to free SKB with wrong pointer.
      Now we are sure that SKB pointer will never be NULL during
      handling TX done and check is removed.
      Signed-off-by: NNoam Camus <noamc@ezchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93fcf83e
    • N
      NET: nps_enet: replace use of cause register · 0dd20f3c
      Noam Camus 提交于
      When interrupt is received we read directly from control
      register for RX/TX instead of reading cause register
      since this register fails to indicate TX done when
      TX interrupt is "edge mode".
      Signed-off-by: NNoam Camus <noamc@ezchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0dd20f3c
    • D
      Merge branch 'gro_tunnels' · 1728369e
      David S. Miller 提交于
      Tom Herbert says:
      
      ====================
      gro: Fixes for tunnels and GRO
      
      This patch set addresses some issue related to tunneling and GRO:
      
      - Fix remote checksum offload to properly deal with frag0 in GRO.
      - Add support for GRO at VXLAN tunnel (call gro_cells)
      
      Testing: Ran one netperf TCP_STREAM to highlight impact of different
      configurations:
      
      GUE
        Zero UDP checksum
          4628.42 MBps
        UDP checksums enabled
          6800.51 MBps
        UDP checksums and remote checksum offload
          7663.82 MBps
        UDP checksums and remote checksum offload using no-partial
          7287.25 MBps
      
      VXLAN
        Zero UDP checksum
          4112.02
        UDP checksums enabled
          6785.80 MBps
        UDP checksums and remote checksum offload
          7075.56 MBps
      
      v2:
        - Drop "gro: Pull headers into skb head for 1st skb in gro list"
          from patch set
        - In vxlan_remcsum and gue_remcsum return immediately if remcsum
          processing was already done
        - Add gro callbacks for sit offload
        - Use WARN_ON_ONCE if we get a GUE protocol that does not have
          GRO offload support
      
      v3:
        - Don't restore gro callbacks for sit offload
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1728369e
    • T
      fou: Do WARN_ON_ONCE in gue_gro_receive for bad proto callbacks · 27013661
      Tom Herbert 提交于
      Do WARN_ON_ONCE instead of WARN_ON in gue_gro_receive when the offload
      callcaks are bad (either don't exist or gro_receive is not specified).
      Signed-off-by: NTom Herbert <tom@herbertland.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27013661
    • T
      vxlan: GRO support at tunnel layer · 58ce31cc
      Tom Herbert 提交于
      Add calls to gro_cells infrastructure to do GRO when receiving on a tunnel.
      
      Testing:
      
      Ran 200 netperf TCP_STREAM instance
      
        - With fix (GRO enabled on VXLAN interface)
      
          Verify GRO is happening.
      
          9084 MBps tput
          3.44% CPU utilization
      
        - Without fix (GRO disabled on VXLAN interface)
      
          Verified no GRO is happening.
      
          9084 MBps tput
          5.54% CPU utilization
      Signed-off-by: NTom Herbert <tom@herbertland.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      58ce31cc
    • T
      gro: Fix remcsum offload to deal with frags in GRO · b7fe10e5
      Tom Herbert 提交于
      The remote checksum offload GRO did not consider the case that frag0
      might be in use. This patch fixes that by accessing headers using the
      skb_gro functions and not saving offsets relative to skb->head.
      Signed-off-by: NTom Herbert <tom@herbertland.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b7fe10e5
    • C
      net/xen-netfront: only clean up queues if present · 9a873c71
      Chas Williams 提交于
      If you simply load and unload the module without starting the interfaces,
      the queues are never created and you get a bad pointer dereference.
      Signed-off-by: NChas Williams <3chas3@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9a873c71
    • V
      net: dsa: mv88e6xxx: set 802.1Q mode to Fallback · f5117ce4
      Vivien Didelot 提交于
      The current Secure port mode requires the port-based VLANs to also be
      valid in the 802.1Q VLAN Table Unit. The current hardware bridging
      support only configures the port-based VLANs, thus is broken.
      
      A new patchset is required to adapt the hardware bridging code to fully
      support the Secure port mode.
      
      In the meantime, change the 802.1Q mode of every ports to Fallback,
      which filtering is more permissive, and doesn't add this restriction to
      handle port-based and tagged-based VLANs.
      
      Fixes: 8efdda4a ("net: dsa: mv88e6xxx: use port 802.1Q mode Secure")
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f5117ce4
  2. 22 8月, 2015 2 次提交
  3. 21 8月, 2015 24 次提交