1. 15 4月, 2016 6 次提交
    • A
      GSO: Support partial segmentation offload · 802ab55a
      Alexander Duyck 提交于
      This patch adds support for something I am referring to as GSO partial.
      The basic idea is that we can support a broader range of devices for
      segmentation if we use fixed outer headers and have the hardware only
      really deal with segmenting the inner header.  The idea behind the naming
      is due to the fact that everything before csum_start will be fixed headers,
      and everything after will be the region that is handled by hardware.
      
      With the current implementation it allows us to add support for the
      following GSO types with an inner TSO_MANGLEID or TSO6 offload:
      NETIF_F_GSO_GRE
      NETIF_F_GSO_GRE_CSUM
      NETIF_F_GSO_IPIP
      NETIF_F_GSO_SIT
      NETIF_F_UDP_TUNNEL
      NETIF_F_UDP_TUNNEL_CSUM
      
      In the case of hardware that already supports tunneling we may be able to
      extend this further to support TSO_TCPV4 without TSO_MANGLEID if the
      hardware can support updating inner IPv4 headers.
      Signed-off-by: NAlexander Duyck <aduyck@mirantis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      802ab55a
    • A
      GRO: Add support for TCP with fixed IPv4 ID field, limit tunnel IP ID values · 1530545e
      Alexander Duyck 提交于
      This patch does two things.
      
      First it allows TCP to aggregate TCP frames with a fixed IPv4 ID field.  As
      a result we should now be able to aggregate flows that were converted from
      IPv6 to IPv4.  In addition this allows us more flexibility for future
      implementations of segmentation as we may be able to use a fixed IP ID when
      segmenting the flow.
      
      The second thing this does is that it places limitations on the outer IPv4
      ID header in the case of tunneled frames.  Specifically it forces the IP ID
      to be incrementing by 1 unless the DF bit is set in the outer IPv4 header.
      This way we can avoid creating overlapping series of IP IDs that could
      possibly be fragmented if the frame goes through GRO and is then
      resegmented via GSO.
      Signed-off-by: NAlexander Duyck <aduyck@mirantis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1530545e
    • A
      GSO: Add GSO type for fixed IPv4 ID · cbc53e08
      Alexander Duyck 提交于
      This patch adds support for TSO using IPv4 headers with a fixed IP ID
      field.  This is meant to allow us to do a lossless GRO in the case of TCP
      flows that use a fixed IP ID such as those that convert IPv6 header to IPv4
      headers.
      
      In addition I am adding a feature that for now I am referring to TSO with
      IP ID mangling.  Basically when this flag is enabled the device has the
      option to either output the flow with incrementing IP IDs or with a fixed
      IP ID regardless of what the original IP ID ordering was.  This is useful
      in cases where the DF bit is set and we do not care if the original IP ID
      value is maintained.
      Signed-off-by: NAlexander Duyck <aduyck@mirantis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cbc53e08
    • A
      ethtool: Add support for toggling any of the GSO offloads · 518f213d
      Alexander Duyck 提交于
      The strings were missing for several of the GSO offloads that are
      available.  This patch provides the missing strings so that we can toggle
      or query any of them via the ethtool command.
      Signed-off-by: NAlexander Duyck <aduyck@mirantis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      518f213d
    • J
      devlink: implement shared buffer occupancy monitoring interface · df38dafd
      Jiri Pirko 提交于
      User needs to monitor shared buffer occupancy. For that, he issues a
      snapshot command in order to instruct hardware to catch current and
      maximal occupancy values, and clear command in order to clear the
      historical maximal values.
      
      Also port-pool and tc-pool-bind command response messages are extended to
      carry occupancy values.
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Reviewed-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      df38dafd
    • J
      devlink: add shared buffer configuration · bf797471
      Jiri Pirko 提交于
      Define userspace API and drivers API for configuration of shared
      buffers. Four basic objects are defined:
      shared buffer - attributes are size, number of pools and TCs
      pool - chunk of sharedbuffer definition, it has some size and either
             static or dynamic threshold
      port pool threshold - to set per-port threshold for each pool
      port tc threshold bind - to bind port and TC to specified pool
                               with threshold.
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Reviewed-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf797471
  2. 14 4月, 2016 18 次提交
  3. 13 4月, 2016 2 次提交
  4. 12 4月, 2016 12 次提交
  5. 10 4月, 2016 1 次提交
  6. 09 4月, 2016 1 次提交
    • V
      net: dsa: make the VLAN add function return void · 4d5770b3
      Vivien Didelot 提交于
      The switchdev design implies that a software error should not happen in
      the commit phase since it must have been previously reported in the
      prepare phase. If an hardware error occurs during the commit phase,
      there is nothing switchdev can do about it.
      
      The DSA layer separates port_vlan_prepare and port_vlan_add for
      simplicity and convenience. If an hardware error occurs during the
      commit phase, there is no need to report it outside the driver itself.
      
      Make the DSA port_vlan_add routine return void for explicitness.
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4d5770b3