1. 23 8月, 2019 3 次提交
  2. 06 8月, 2019 3 次提交
  3. 24 7月, 2019 1 次提交
  4. 10 7月, 2019 3 次提交
  5. 29 6月, 2019 1 次提交
    • H
      i40e: Add macvlan support on i40e · 1d8d80b4
      Harshitha Ramamurthy 提交于
      This patch enables macvlan offloads for i40e. The idea is to use
      channels as macvlan interfaces. The channels are VSIs of
      type VMDQ. When the first macvlan is created, the maximum number of
      channels possible are created. From then on, as a macvlan interface
      is created, a macvlan filter is added to these already created
      channels (VSIs).
      
      This patch utilizes subordinate device traffic classes to make queue
      groups(channels) available for an upper device like a macvlan.
      
      Steps to configure macvlan offloads:
      1. ethtool -K ethx l2-fwd-offload on
      2. ip link add link ethx name macvlan1 type macvlan
      3. ip addr add <address> dev macvlan1
      4. ip link set macvlan1 up
      Signed-off-by: NHarshitha Ramamurthy <harshitha.ramamurthy@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      1d8d80b4
  6. 27 6月, 2019 4 次提交
  7. 15 6月, 2019 3 次提交
  8. 05 5月, 2019 3 次提交
  9. 04 5月, 2019 6 次提交
  10. 17 4月, 2019 7 次提交
  11. 02 4月, 2019 2 次提交
  12. 22 2月, 2019 2 次提交
    • B
      i40e: fix XDP_REDIRECT/XDP xmit ring cleanup race · 59eb2a88
      Björn Töpel 提交于
      When the driver clears the XDP xmit ring due to re-configuration or
      teardown, in-progress ndo_xdp_xmit must be taken into consideration.
      
      The ndo_xdp_xmit function is typically called from a NAPI context that
      the driver does not control. Therefore, we must be careful not to
      clear the XDP ring, while the call is on-going. This patch adds a
      synchronize_rcu() to wait for napi(s) (preempt-disable regions and
      softirqs), prior clearing the queue. Further, the __I40E_CONFIG_BUSY
      flag is checked in the ndo_xdp_xmit implementation to avoid touching
      the XDP xmit queue during re-configuration.
      
      Fixes: d9314c47 ("i40e: add support for XDP_REDIRECT")
      Fixes: 123cecd4 ("i40e: added queue pair disable/enable functions")
      Reported-by: NMaciej Fijalkowski <maciej.fijalkowski@intel.com>
      Signed-off-by: NBjörn Töpel <bjorn.topel@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      59eb2a88
    • M
      i40e: fix potential RX buffer starvation for AF_XDP · 14ffeb52
      Magnus Karlsson 提交于
      When the RX rings are created they are also populated with buffers
      so that packets can be received. Usually these are kernel buffers,
      but for AF_XDP in zero-copy mode, these are user-space buffers and
      in this case the application might not have sent down any buffers
      to the driver at this point. And if no buffers are allocated at ring
      creation time, no packets can be received and no interrupts will be
      generated so the NAPI poll function that allocates buffers to the
      rings will never get executed.
      
      To rectify this, we kick the NAPI context of any queue with an
      attached AF_XDP zero-copy socket in two places in the code. Once
      after an XDP program has loaded and once after the umem is registered.
      This take care of both cases: XDP program gets loaded first then AF_XDP
      socket is created, and the reverse, AF_XDP socket is created first,
      then XDP program is loaded.
      
      Fixes: 0a714186 ("i40e: add AF_XDP zero-copy Rx support")
      Signed-off-by: NMagnus Karlsson <magnus.karlsson@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      14ffeb52
  13. 15 2月, 2019 1 次提交
  14. 07 2月, 2019 1 次提交
    • P
      flow_offload: add flow_rule and flow_match structures and use them · 8f256622
      Pablo Neira Ayuso 提交于
      This patch wraps the dissector key and mask - that flower uses to
      represent the matching side - around the flow_match structure.
      
      To avoid a follow up patch that would edit the same LoCs in the drivers,
      this patch also wraps this new flow match structure around the flow rule
      object. This new structure will also contain the flow actions in follow
      up patches.
      
      This introduces two new interfaces:
      
      	bool flow_rule_match_key(rule, dissector_id)
      
      that returns true if a given matching key is set on, and:
      
      	flow_rule_match_XYZ(rule, &match);
      
      To fetch the matching side XYZ into the match container structure, to
      retrieve the key and the mask with one single call.
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Acked-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8f256622