1. 27 7月, 2015 12 次提交
    • N
      openvswitch: fix compilation when vxlan is a module · 2661371a
      Nicolas Dichtel 提交于
      With CONFIG_VXLAN=m and CONFIG_OPENVSWITCH=y, there was the following
      compilation error:
        LD      init/built-in.o
        net/built-in.o: In function `vxlan_tnl_create':
        .../net/openvswitch/vport-netdev.c:322: undefined reference to `vxlan_dev_create'
        make: *** [vmlinux] Error 1
      
      CC: Thomas Graf <tgraf@suug.ch>
      Fixes: 614732ea ("openvswitch: Use regular VXLAN net_device device")
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2661371a
    • J
      ipv4: be more aggressive when probing alternative gateways · 88f64320
      Julian Anastasov 提交于
      Currently, we do not notice if new alternative gateways
      are added. We can do it by checking for present neigh
      entry. Also, gateways that are currently probed (NUD_INCOMPLETE)
      can be skipped from round-robin probing.
      Suggested-by: NFlorian Westphal <fw@strlen.de>
      Signed-off-by: NJulian Anastasov <ja@ssi.bg>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      88f64320
    • W
      ipv6: fix crash over flow-based vxlan device · 48fb6b55
      Wei-Chun Chao 提交于
      Similar check was added in ip_rcv but not in ipv6_rcv.
      
      BUG: unable to handle kernel NULL pointer dereference at (null)
      IP: [<ffffffff81734e0a>] ipv6_rcv+0xfa/0x500
      Call Trace:
      [<ffffffff816c9786>] ? ip_rcv+0x296/0x400
      [<ffffffff817732d2>] ? packet_rcv+0x52/0x410
      [<ffffffff8168e99f>] __netif_receive_skb_core+0x63f/0x9a0
      [<ffffffffc02b34a0>] ? br_handle_frame_finish+0x580/0x580 [bridge]
      [<ffffffff8109912c>] ? update_rq_clock.part.81+0x1c/0x40
      [<ffffffff8168ed18>] __netif_receive_skb+0x18/0x60
      [<ffffffff8168fa1f>] process_backlog+0x9f/0x150
      
      Fixes: ee122c79 (vxlan: Flow based tunneling)
      Signed-off-by: NWei-Chun Chao <weichunc@plumgrid.com>
      Acked-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      48fb6b55
    • F
      net: bcmgenet: Register link_update callback for all MoCA PHYs · 6ac9de5f
      Florian Fainelli 提交于
      Commit 8d88c6eb ("net: bcmgenet: enable MoCA link state change
      detection") added a fixed PHY link_update callback for MoCA PHYs when
      registered using platform_data exclusively, this change is also
      applicable to systems using Device Tree as their primary configuration
      interface.
      
      In order for this to work, move the link_update assignment into
      bcmgenet_moca_phy_setup() where we know for sure that we are running on
      a MoCA GENET instance, and do not override phydev->link since this is:
      
      - properly taken care of by the PHY library by getting the link UP/DOWN
        interrupts
      - this now runs everytime we call bcmgenet_open(), so we need to
        preserve whatever we detected before we went administratively DOWN and
        then UP
      - we need to make sure that MoCA PHYs start with a link DOWN during
        probe in order to force a link transition to occur
      
      To avoid a forward declaration, move bcmgenet_fixed_phy_link_update()
      above its caller.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6ac9de5f
    • F
      net: bcmgenet: Remove checks on clock handles · 7d5d3075
      Florian Fainelli 提交于
      Instead of multiplying the number of checks for IS_ERR(priv->clk),
      simply NULLify the 'struct clk' pointer which is something the Linux
      common clock framework perfectly deals with and does early return for
      each and every single clk_* API functions.
      
      Having every single function check for !IS_ERR(priv->clk) is both
      redundant and error prone, as it turns out, we were doing it for the
      main GENET clock: priv->clk, but not for the Wake-on-LAN or EEE clock,
      so let's just be consistent here.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Acked-by: NPetri Gynther <pgynther@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7d5d3075
    • K
      hv_netvsc: Wait for sub-channels to be processed during probe · b3e6b82a
      KY Srinivasan 提交于
      The current code returns from probe without waiting for the proper handling
      of subchannels that may be requested. If the netvsc driver were to be rapidly
      loaded/unloaded, we can  trigger a panic as the unload will be tearing
      down state that may not have been fully setup yet. We fix this issue by making
      sure that we return from the probe call only after ensuring that the
      sub-channel offers in flight are properly handled.
      
      Reviewed-and-tested-by: Haiyang Zhang <haiyangz@microsoft.com
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b3e6b82a
    • H
      cxgb4: Allow firmware flash, only if cxgb4 is the master driver · 402b7645
      Hariprasad Shenai 提交于
      Adapter can go for a toss, if cxgb4 is loaded as slave and we try to
      upgrade the firmware. So add a check for the same before flashing
      firmware using ethtool.
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      402b7645
    • T
      vxlan: Use proper endian type for vni in vxlan[6]_xmit_skb · 6b6948dd
      Thomas Graf 提交于
      Silences the following sparse warnings:
      drivers/net/vxlan.c:1818:21: warning: incorrect type in assignment (different base types)
      drivers/net/vxlan.c:1818:21:    expected restricted __be32 [usertype] vx_vni
      drivers/net/vxlan.c:1818:21:    got unsigned int [unsigned] [usertype] vni
      drivers/net/vxlan.c:2014:58: warning: incorrect type in argument 11 (different base types)
      drivers/net/vxlan.c:2014:58:    expected unsigned int [unsigned] [usertype] vni
      drivers/net/vxlan.c:2014:58:    got restricted __be32 [usertype] <noident>
      
      Fixes: 614732ea ("openvswitch: Use regular VXLAN net_device device")
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6b6948dd
    • D
      Merge branch 'tipc' · 1d70ec70
      David S. Miller 提交于
      Jon Maloy says:
      
      ====================
      tipc: clean up socket message reception
      
      Despite recent improvements the message reception code in socket.c is
      perceived as obscure and hard to follow, especially regarding the logics
      for message rejection. With the commits in this series we try to remedy
      this situation.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1d70ec70
    • J
      tipc: clean up socket layer message reception · cda3696d
      Jon Paul Maloy 提交于
      When a message is received in a socket, one of the call chains
      tipc_sk_rcv()->tipc_sk_enqueue()->filter_rcv()(->tipc_sk_proto_rcv())
      or
      tipc_sk_backlog_rcv()->filter_rcv()(->tipc_sk_proto_rcv())
      are followed. At each of these levels we may encounter situations
      where the message may need to be rejected, or a new message
      produced for transfer back to the sender. Despite recent
      improvements, the current code for doing this is perceived
      as awkward and hard to follow.
      
      Leveraging the two previous commits in this series, we now
      introduce a more uniform handling of such situations. We
      let each of the functions in the chain itself produce/reverse
      the message to be returned to the sender, but also perform the
      actual forwarding. This simplifies the necessary logics within
      each function.
      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>
      cda3696d
    • J
      tipc: introduce new tipc_sk_respond() function · bcd3ffd4
      Jon Paul Maloy 提交于
      Currently, we use the code sequence
      
      if (msg_reverse())
         tipc_link_xmit_skb()
      
      at numerous locations in socket.c. The preparation of arguments
      for these calls, as well as the sequence itself, makes the code
      unecessarily complex.
      
      In this commit, we introduce a new function, tipc_sk_respond(),
      that performs this call combination. We also replace some, but not
      yet all, of these explicit call sequences with calls to the new
      function. Notably, we let the function tipc_sk_proto_rcv() use
      the new function to directly send out PROBE_REPLY messages,
      instead of deferring this to the calling tipc_sk_rcv() function,
      as we do now.
      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>
      bcd3ffd4
    • J
      tipc: let function tipc_msg_reverse() expand header when needed · 29042e19
      Jon Paul Maloy 提交于
      The shortest TIPC message header, for cluster local CONNECTED messages,
      is 24 bytes long. With this format, the fields "dest_node" and
      "orig_node" are optimized away, since they in reality are redundant
      in this particular case.
      
      However, the absence of these fields leads to code inconsistencies
      that are difficult to handle in some cases, especially when we need
      to reverse or reject messages at the socket layer.
      
      In this commit, we concentrate the handling of the absent fields
      to one place, by letting the function tipc_msg_reverse() reallocate
      the buffer and expand the header to 32 bytes when necessary. This
      means that the socket code now can assume that the two previously
      absent fields are present in the header when a message needs to be
      rejected. This opens up for some further simplifications of the
      socket code.
      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>
      29042e19
  2. 25 7月, 2015 3 次提交
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · a69e5a0d
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2015-07-23
      
      This series contains updates to e1000e, igb, ixgbevf, i40e and i40evf.
      
      Emil extends the reporting of the RSS key and hash table by adding support
      for x550 VFs.
      
      Jia-Ju Bai fixes a QoS issue in e1000e where the error handling lacked a
      call to pm_qos_remove_request() to cleanup the QoS request made in
      e1000_open().
      
      Todd updates igb to report unsupported for ethtool coalesce settings
      that are not supported.  Also updated the driver to use the ARRAY_SIZE()
      macro.
      
      Carolyn fixes and refactors the dynamic ITR code for i40e and i40evf
      which would never change dynamically.  So update the switch() statement
      to have a default case and switch on "new_latency_range" versus the
      current ITR setting.
      
      Shannon cleans up i40e code, where there were un-needed goto's.  Also
      clean up error status messages that were causing some confusion in
      PHY and FCoE setup error reports.
      
      Mitch updates the virtual channel interface to prepare for the x722 device
      and other future devices, so that the VF driver can report what its
      capable of supporting to the PF driver.  Updates the i40evf driver to
      handle resets like Core or EMP resets, where the device is reinitialized
      and the VF will not get the same VSI.
      
      Jesse updates the i40e and i40evf driver to use the kernel BIT() and
      BIT_ULL() macros.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a69e5a0d
    • R
      bridge: Fix setting a flag in br_fill_ifvlaninfo_range(). · 6ca91c60
      Rosen, Rami 提交于
      This patch fixes setting of vinfo.flags in the br_fill_ifvlaninfo_range() method. The
      assignment of vinfo.flags &= ~BRIDGE_VLAN_INFO_RANGE_BEGIN has no effect and is
      unneeded, as vinfo.flags value is overriden by the  immediately following
      vinfo.flags = flags | BRIDGE_VLAN_INFO_RANGE_END assignement.
      Signed-off-by: NRami Rosen <rami.rosen@intel.com>
      Acked-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6ca91c60
    • S
      be2net: support ndo_get_phys_port_id() · a155a5db
      Sriharsha Basavapatna 提交于
      Add be_get_phys_port_id() function to report physical port id. The port id
      should be unique across different be2net devices in the system. We use the
      chip serial number along with the physical port number for this.
      Signed-off-by: NSriharsha Basavapatna <sriharsha.basavapatna@avagotech.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a155a5db
  3. 23 7月, 2015 25 次提交