1. 19 12月, 2015 6 次提交
    • J
      nfp: call netif_carrier_off() during init · 4b402d71
      Jakub Kicinski 提交于
      Netdevs default to carrier on, we should call netif_carrier_off()
      during initialization since we handle carrier state changes in the
      driver.
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      Reviewed-by: NRolf Neugebauer <rolf.neugebauer@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4b402d71
    • D
      Merge branch 'l3mdev-accept' · 6462de8c
      David S. Miller 提交于
      David Ahern says:
      
      ====================
      net: Allow accepted sockets to be bound to l3mdev domain
      
      Allow accepted sockets to derive their sk_bound_dev_if setting from the
      l3mdev domain in which the packets originated. This version adds a sysctl
      to control whether the setting is inherited, making the functionality
      similar to sk_mark and its sysctl_tcp_fwmark_accept setting.
      
      This effectively allow a process to have a "VRF-global" listen socket,
      with child sockets bound to the VRF device in which the packet originated.
      A similar behavior can be achieved using sk_mark, but a solution using marks
      is incomplete as it does not handle duplicate addresses in different L3
      domains/VRFs. Allowing sockets to inherit the sk_bound_dev_if from l3mdev
      domain provides a complete solution.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6462de8c
    • D
      net: Allow accepted sockets to be bound to l3mdev domain · 6dd9a14e
      David Ahern 提交于
      Allow accepted sockets to derive their sk_bound_dev_if setting from the
      l3mdev domain in which the packets originated. A sysctl setting is added
      to control the behavior which is similar to sk_mark and
      sysctl_tcp_fwmark_accept.
      
      This effectively allow a process to have a "VRF-global" listen socket,
      with child sockets bound to the VRF device in which the packet originated.
      A similar behavior can be achieved using sk_mark, but a solution using marks
      is incomplete as it does not handle duplicate addresses in different L3
      domains/VRFs. Allowing sockets to inherit the sk_bound_dev_if from l3mdev
      domain provides a complete solution.
      Signed-off-by: NDavid Ahern <dsa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6dd9a14e
    • D
      net: l3mdev: Add master device lookup by index · 1a852479
      David Ahern 提交于
      Add helper to lookup l3mdev master index given a device index.
      Signed-off-by: NDavid Ahern <dsa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1a852479
    • B
      ipv6: addrconf: use stable address generator for ARPHRD_NONE · cc9da6cc
      Bjørn Mork 提交于
      Add a new address generator mode, using the stable address generator
      with an automatically generated secret. This is intended as a default
      address generator mode for device types with no EUI64 implementation.
      The new generator is used for ARPHRD_NONE interfaces initially, adding
      default IPv6 autoconf support to e.g. tun interfaces.
      
      If the addrgenmode is set to 'random', either by default or manually,
      and no stable secret is available, then a random secret is used as
      input for the stable-privacy address generator.  The secret can be
      read and modified like manually configured secrets, using the proc
      interface.  Modifying the secret will change the addrgen mode to
      'stable-privacy' to indicate that it operates on a known secret.
      
      Existing behaviour of the 'stable-privacy' mode is kept unchanged. If
      a known secret is available when the device is created, then the mode
      will default to 'stable-privacy' as before.  The mode can be manually
      set to 'random' but it will behave exactly like 'stable-privacy' in
      this case. The secret will not change.
      
      Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
      Cc: 吉藤英明 <hideaki.yoshifuji@miraclelinux.com>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cc9da6cc
    • A
      ila: add NETFILTER dependency · 8cb964da
      Arnd Bergmann 提交于
      The recently added generic ILA translation facility fails to
      build when CONFIG_NETFILTER is disabled:
      
      net/ipv6/ila/ila_xlat.c:229:20: warning: 'struct nf_hook_state' declared inside parameter list
      net/ipv6/ila/ila_xlat.c:235:27: error: array type has incomplete element type 'struct nf_hook_ops'
       static struct nf_hook_ops ila_nf_hook_ops[] __read_mostly = {
      
      This adds an explicit Kconfig dependency to avoid that case.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: 7f00feaf ("ila: Add generic ILA translation facility")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8cb964da
  2. 18 12月, 2015 21 次提交
  3. 17 12月, 2015 10 次提交
  4. 16 12月, 2015 3 次提交
    • D
      Merge branch 'geneve-udp-port-offload' · 897ca373
      David S. Miller 提交于
      Anjali Singhai Jain says:
      
      ====================
      Add support for Geneve udp port offload
      
      This patch series adds new ndo ops for Geneve add/del port, so as
      to help offload Geneve tunnel functionalities such as RX checksum,
      RSS, filters etc.
      
      i40e driver has been tested with the changes to make sure the offloads
      happen.
      
      We do understand that this is not the ideal solution and most likely
      will be redone with a more generic offload framework.
      But this certainly will enable us to start seeing benefits of the
      accelerations for Geneve tunnels.
      
      As a side note, we did find an existing issue in i40e driver where a
      service task can modify tunnel data structures with no locks held to
      help linearize access. A separate patch will be taking care of that issue.
      
      A question out to the community is regarding the driver Kconfig parameters
      for VxLAN and Geneve, it would be ideal to drop those if there is a way
      to help resolve vxlan/geneve_get_rx_port symbols while the tunnel modules
      are not loaded.
      
      Performance numbers:
      With the offloads enable on X722 devices with remote checksum enabled
      and no other tuning in terms of cpu governer etc on my test machine:
      
      With offload
      Throughput: 5527Mbits/sec with a single thread
      %cpu: ~43% per core with 4 threads
      
      Without offload
      Throughput: 2364Mbits/sec with a single thread
      %cpu: ~99% per core with 4 threads
      
      These numbers will get better for X722 as it is being worked. But
      this does bring out the delta in terms of when the stack is notified
      with csum_level 1 and CHECKSUM_UNNECESSARY vs not without the RX offload.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      897ca373
    • S
      i40e: Call geneve_get_rx_port to get the existing Geneve ports · cd866606
      Singhai, Anjali 提交于
      This patch adds a call to geneve_get_rx_port in i40e so that when it
      comes up it can learn about the existing geneve tunnels.
      Signed-off-by: NAnjali Singhai Jain <anjali.singhai@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd866606
    • S
      geneve: Add geneve_get_rx_port support · 05ca4029
      Singhai, Anjali 提交于
      This patch adds an op that the drivers can call into to get existing
      geneve ports.
      Signed-off-by: NAnjali Singhai Jain <anjali.singhai@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      05ca4029