1. 27 12月, 2014 6 次提交
    • J
      net: Generalize ndo_gso_check to ndo_features_check · 5f35227e
      Jesse Gross 提交于
      GSO isn't the only offload feature with restrictions that
      potentially can't be expressed with the current features mechanism.
      Checksum is another although it's a general issue that could in
      theory apply to anything. Even if it may be possible to
      implement these restrictions in other ways, it can result in
      duplicate code or inefficient per-packet behavior.
      
      This generalizes ndo_gso_check so that drivers can remove any
      features that don't make sense for a given packet, similar to
      netif_skb_features(). It also converts existing driver
      restrictions to the new format, completing the work that was
      done to support tunnel protocols since the issues apply to
      checksums as well.
      
      By actually removing features from the set that are used to do
      offloading, it solves another problem with the existing
      interface. In these cases, GSO would run with the original set
      of features and not do anything because it appears that
      segmentation is not required.
      
      CC: Tom Herbert <therbert@google.com>
      CC: Joe Stringer <joestringer@nicira.com>
      CC: Eric Dumazet <edumazet@google.com>
      CC: Hayes Wang <hayeswang@realtek.com>
      Signed-off-by: NJesse Gross <jesse@nicira.com>
      Acked-by: NTom Herbert <therbert@google.com>
      Fixes: 04ffcb25 ("net: Add ndo_gso_check")
      Tested-by: NHayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f35227e
    • N
      net: incorrect use of init_completion fixup · 6e4ab361
      Nicholas Mc Guire 提交于
      The second init_completion call should be a reinit_completion here.
      
      patch is against 3.18.0 linux-next
      Signed-off-by: NNicholas Mc Guire <der.herr@hofr.at>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6e4ab361
    • N
      neigh: remove next ptr from struct neigh_table · ef8f342b
      Nicolas Dichtel 提交于
      After commit
      d7480fd3 ("neigh: remove dynamic neigh table registration support"),
      this field is not used anymore.
      
      CC: Cong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ef8f342b
    • A
      net: xilinx: Remove unnecessary temac_property in the driver · 16d8614b
      Appana Durga Kedareswara Rao 提交于
      This property is no longer used in the code yet the code looks for it in the device tree.
      It does not cause an error if it's not in the tree.
      Signed-off-by: NKedareswara rao Appana <appanad@xilinx.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      16d8614b
    • J
      net: phy: micrel: use generic config_init for KSZ8021/KSZ8031 · d0e1df9c
      Johan Hovold 提交于
      Use generic config_init callback also for KSZ8021 and KSZ8031.
      
      This has been avoided this far due to commit b838b4ac ("phy/micrel:
      KSZ8031RNL RMII clock reconfiguration bug"), which claims that the PHY
      becomes unresponsive if the broadcast-disable flag is set before
      configuring the clock mode.
      
      Turns out that the problem seemingly worked-around by the above
      mentioned commit was really due to a hardware-configuration issue, where
      the PHY was in fact strapped to address 3 rather than 0.
      Tested-by: NBruno Thomsen <bth@kamstrup.dk>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d0e1df9c
    • J
      net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding · 2c26d34b
      Jay Vosburgh 提交于
      When using VXLAN tunnels and a sky2 device, I have experienced
      checksum failures of the following type:
      
      [ 4297.761899] eth0: hw csum failure
      [...]
      [ 4297.765223] Call Trace:
      [ 4297.765224]  <IRQ>  [<ffffffff8172f026>] dump_stack+0x46/0x58
      [ 4297.765235]  [<ffffffff8162ba52>] netdev_rx_csum_fault+0x42/0x50
      [ 4297.765238]  [<ffffffff8161c1a0>] ? skb_push+0x40/0x40
      [ 4297.765240]  [<ffffffff8162325c>] __skb_checksum_complete+0xbc/0xd0
      [ 4297.765243]  [<ffffffff8168c602>] tcp_v4_rcv+0x2e2/0x950
      [ 4297.765246]  [<ffffffff81666ca0>] ? ip_rcv_finish+0x360/0x360
      
      	These are reliably reproduced in a network topology of:
      
      container:eth0 == host(OVS VXLAN on VLAN) == bond0 == eth0 (sky2) -> switch
      
      	When VXLAN encapsulated traffic is received from a similarly
      configured peer, the above warning is generated in the receive
      processing of the encapsulated packet.  Note that the warning is
      associated with the container eth0.
      
              The skbs from sky2 have ip_summed set to CHECKSUM_COMPLETE, and
      because the packet is an encapsulated Ethernet frame, the checksum
      generated by the hardware includes the inner protocol and Ethernet
      headers.
      
      	The receive code is careful to update the skb->csum, except in
      __dev_forward_skb, as called by dev_forward_skb.  __dev_forward_skb
      calls eth_type_trans, which in turn calls skb_pull_inline(skb, ETH_HLEN)
      to skip over the Ethernet header, but does not update skb->csum when
      doing so.
      
      	This patch resolves the problem by adding a call to
      skb_postpull_rcsum to update the skb->csum after the call to
      eth_type_trans.
      Signed-off-by: NJay Vosburgh <jay.vosburgh@canonical.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2c26d34b
  2. 25 12月, 2014 1 次提交
  3. 24 12月, 2014 17 次提交
  4. 23 12月, 2014 15 次提交
  5. 20 12月, 2014 1 次提交