1. 05 Oct, 2018 13 commits
  2. 04 Oct, 2018 27 commits
    • Hangbin Liu's avatar
      geneve: allow to clear ttl inherit · a97d97ba
      Hangbin Liu authored
      As Michal remaind, we should allow to clear ttl inherit. Then we will
      have three states:
      
      1. set the flag, and do ttl inherit.
      2. do not set the flag, use configured ttl value, or default ttl (0) if
         not set.
      3. disable ttl inherit, use previous configured ttl value, or default ttl (0).
      
      Fixes: 52d0d404 ("geneve: add ttl inherit support")
      CC: Michal Kubecek <mkubecek@suse.cz>
      Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a97d97ba
    • Vinicius Costa Gomes's avatar
      tc: Add support for configuring the taprio scheduler · 5a781ccb
      Vinicius Costa Gomes authored
      This traffic scheduler allows traffic classes states (transmission
      allowed/not allowed, in the simplest case) to be scheduled, according
      to a pre-generated time sequence. This is the basis of the IEEE
      802.1Qbv specification.
      
      Example configuration:
      
      tc qdisc replace dev enp3s0 parent root handle 100 taprio \
                num_tc 3 \
      	  map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
      	  queues 1@0 1@1 2@2 \
      	  base-time 1528743495910289987 \
      	  sched-entry S 01 300000 \
      	  sched-entry S 02 300000 \
      	  sched-entry S 04 300000 \
      	  clockid CLOCK_TAI
      
      The configuration format is similar to mqprio. The main difference is
      the presence of a schedule, built by multiple "sched-entry"
      definitions, each entry has the following format:
      
           sched-entry <CMD> <GATE MASK> <INTERVAL>
      
      The only supported <CMD> is "S", which means "SetGateStates",
      following the IEEE 802.1Qbv-2015 definition (Table 8-6). <GATE MASK>
      is a bitmask where each bit is a associated with a traffic class, so
      bit 0 (the least significant bit) being "on" means that traffic class
      0 is "active" for that schedule entry. <INTERVAL> is a time duration
      in nanoseconds that specifies for how long that state defined by <CMD>
      and <GATE MASK> should be held before moving to the next entry.
      
      This schedule is circular, that is, after the last entry is executed
      it starts from the first one, indefinitely.
      
      The other parameters can be defined as follows:
      
       - base-time: specifies the instant when the schedule starts, if
        'base-time' is a time in the past, the schedule will start at
      
       	      base-time + (N * cycle-time)
      
         where N is the smallest integer so the resulting time is greater
         than "now", and "cycle-time" is the sum of all the intervals of the
         entries in the schedule;
      
       - clockid: specifies the reference clock to be used;
      
      The parameters should be similar to what the IEEE 802.1Q family of
      specification defines.
      Signed-off-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a781ccb
    • David S. Miller's avatar
      Merge branch 'bnxt_en-devlink-param-updates' · 34f8c58f
      David S. Miller authored
      Vasundhara Volam says:
      
      ====================
      bnxt_en: devlink param updates
      
      This patchset adds support for 3 generic and 1 driver-specific devlink
      parameters. Add documentation for these configuration parameters.
      
      Also, this patchset adds support to return proper error code if
      HWRM_NVM_GET/SET_VARIABLE commands return error code
      HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED.
      
      v3->v4:
      -Remove extra definition of NVM_OFF_HW_TC_OFFLOAD from bnxt_devlink.h
      -Remove type information for generic parameters from
      devlink-params-bnxt.txt
      
      v2->v3:
      -Remove description of generic parameters from devlink-params-bnxt.txt
      
      v1->v2:
      -Remove hw_tc_offload parameter.
      -Update all patches with Cc of MAINTAINERS.
      -Add more description in commit message for device specific parameter.
      -Add a new Documentation/networking/devlink-params.txt with some
      generic devlink parameters information.
      -Add a new Documentation/networking/devlink-params-bnxt.txt with devlink
      parameters information that are supported by bnxt_en driver.
      ====================
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      34f8c58f
    • Vasundhara Volam's avatar
      devlink: Add Documentation/networking/devlink-params-bnxt.txt · 53e233ea
      Vasundhara Volam authored
      This patch adds a new file to add information about configuration
      parameters that are supported by bnxt_en driver via devlink.
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: linux-doc@vger.kernel.org
      Cc: Jiri Pirko <jiri@mellanox.com>
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53e233ea
    • Vasundhara Volam's avatar
      devlink: Add Documentation/networking/devlink-params.txt · 9bff98bb
      Vasundhara Volam authored
      This patch adds a new file to add information about some of the
      generic configuration parameters set via devlink.
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: linux-doc@vger.kernel.org
      Cc: Jiri Pirko <jiri@mellanox.com>
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9bff98bb
    • Vasundhara Volam's avatar
      bnxt_en: Add a driver specific gre_ver_check devlink parameter. · 2dc0865e
      Vasundhara Volam authored
      This patch adds following driver-specific permanent mode boolean
      parameter.
      
      gre_ver_check - Generic Routing Encapsulation(GRE) version check
      will be enabled in the device. If disabled, device skips version
      checking for GRE packets.
      
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2dc0865e
    • Vasundhara Volam's avatar
      bnxt_en: Use msix_vec_per_pf_max and msix_vec_per_pf_min devlink params. · f399e849
      Vasundhara Volam authored
      This patch adds support for following generic permanent mode
      devlink parameters. They can be modified using devlink param
      commands.
      
      msix_vec_per_pf_max - This param sets the number of MSIX vectors
      that the device requests from the host on driver initialization.
      This value is set in the device which limits MSIX vectors per PF.
      
      msix_vec_per_pf_min - This param sets the number of minimal MSIX
      vectors required for the device initialization. Value 0 indicates
      a default value is selected. This value is set in the device which
      limits MSIX vectors per PF.
      
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f399e849
    • Vasundhara Volam's avatar
      bnxt_en: return proper error when FW returns HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED · 3a1d52a5
      Vasundhara Volam authored
      Return proper error code when Firmware returns
      HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED for HWRM_NVM_GET/SET_VARIABLE
      commands.
      
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a1d52a5
    • Vasundhara Volam's avatar
      bnxt_en: Use ignore_ari devlink parameter · 7d859234
      Vasundhara Volam authored
      This patch adds support for ignore_ari generic permanent mode
      devlink parameter. This parameter is disabled by default. It can be
      enabled using devlink param commands.
      
      ignore_ari - If enabled, device ignores ARI(Alternate Routing ID)
      capability, even when platforms has the support and creates same number
      of partitions when platform does not support ARI capability.
      
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7d859234
    • Vasundhara Volam's avatar
      devlink: Add generic parameter msix_vec_per_pf_min · 16511789
      Vasundhara Volam authored
      msix_vec_per_pf_min - This param sets the number of minimal MSIX
      vectors required for the device initialization. This value is set
      in the device which limits MSIX vectors per PF.
      
      Cc: Jiri Pirko <jiri@mellanox.com>
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      16511789
    • Vasundhara Volam's avatar
      devlink: Add generic parameter msix_vec_per_pf_max · f61cba42
      Vasundhara Volam authored
      msix_vec_per_pf_max - This param sets the number of MSIX vectors
      that the device requests from the host on driver initialization.
      This value is set in the device which is applicable per PF.
      
      Cc: Jiri Pirko <jiri@mellanox.com>
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f61cba42
    • Vasundhara Volam's avatar
      devlink: Add generic parameter ignore_ari · e3b51061
      Vasundhara Volam authored
      ignore_ari - Device ignores ARI(Alternate Routing ID) capability,
      even when platforms has the support and creates same number of
      partitions when platform does not support ARI capability.
      
      Cc: Jiri Pirko <jiri@mellanox.com>
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e3b51061
    • Nathan Chancellor's avatar
      qed: Avoid implicit enum conversion in qed_ooo_submit_tx_buffers · 8fa74e3c
      Nathan Chancellor authored
      Clang warns when one enumerated type is implicitly converted to another.
      
      drivers/net/ethernet/qlogic/qed/qed_ll2.c:799:32: warning: implicit
      conversion from enumeration type 'enum core_tx_dest' to different
      enumeration type 'enum qed_ll2_tx_dest' [-Wenum-conversion]
                      tx_pkt.tx_dest = p_ll2_conn->tx_dest;
                                     ~ ~~~~~~~~~~~~^~~~~~~
      1 warning generated.
      
      Fix this by using a switch statement to convert between the enumerated
      values since they are not 1 to 1, which matches how the rest of the
      driver handles this conversion.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/125Suggested-by: default avatarTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Acked-by: default avatarTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8fa74e3c
    • David S. Miller's avatar
      Merge tag 'mlx5-updates-2018-10-03' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 9e50727f
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2018-10-03
      
      mlx5 core driver and ethernet netdev updates, please note there is a small
      devlink releated update to allow extack argument to eswitch operations.
      
      From Eli Britstein,
      1) devlink: Add extack argument to the eswitch related operations
      2) net/mlx5e: E-Switch, return extack messages for failures in the e-switch devlink callbacks
      3) net/mlx5e: Add extack messages for TC offload failures
      
      From Eran Ben Elisha,
      4) mlx5e: Add counter for aRFS rule insertion failures
      
      From Feras Daoud
      5) Fast teardown support for mlx5 device
      This change introduces the enhanced version of the "Force teardown" that
      allows SW to perform teardown in a faster way without the need to reclaim
      all the FW pages.
      Fast teardown provides the following advantages:
          1- Fix a FW race condition that could cause command timeout
          2- Avoid moving to polling mode
          3- Close the vport to prevent PCI ACK to be sent without been scatter
          to memory
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9e50727f
    • David S. Miller's avatar
      Merge tag 'rxrpc-next-20181004' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · f0e834e1
      David S. Miller authored
      David Howells says:
      
      ====================
      rxrpc: Development
      
      Here are some development patches for AF_RXRPC.  The most significant points
      are:
      
       (1) Change the tracepoint that indicates a packet has been transmitted
           into one that indicates a packet is about to be transmitted.  Without
           this, the response tracepoint may occur first if the round trip is
           fast enough.
      
       (2) Sort out AFS address list handling to better enforce maximum capacity
           to use helper functions to fill them and to do an insertion sort to
           order them.  This is here to make (3) easier.
      
       (3) Keep AF_INET addresses as AF_INET addresses rather than converting
           them to AF_INET6 in both AF_RXRPC and kAFS.  I hadn't realised that a
           UDP6 socket would just call down into UDP4 if given an AF_INET
           address.
      
       (4) Allow the timestamp on the first DATA packet of a reply to be
           retrieved by a kernel service.  This will give the kAFS a more
           accurate base from which to calculate the callback promise expiration.
      
       (5) Allow the rxrpc protocol epoch value to be retrieved from an incoming
           call.  This will allow kAFS to determine if the fileserver restarted
           and if two addresses apparently assigned to the same fileserver
           actually are different boxes.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f0e834e1
    • David Howells's avatar
      dns: Allow the dns resolver to retrieve a server set · bbb4c432
      David Howells authored
      Allow the DNS resolver to retrieve a set of servers and their associated
      addresses, ports, preference and weight ratings.
      
      In terms of communication with userspace, "srv=1" is added to the callout
      string (the '1' indicating the maximum data version supported by the
      kernel) to ask the userspace side for this.
      
      If the userspace side doesn't recognise it, it will ignore the option and
      return the usual text address list.
      
      If the userspace side does recognise it, it will return some binary data
      that begins with a zero byte that would cause the string parsers to give an
      error.  The second byte contains the version of the data in the blob (this
      may be between 1 and the version specified in the callout data).  The
      remainder of the payload is version-specific.
      
      In version 1, the payload looks like (note that this is packed):
      
      	u8	Non-string marker (ie. 0)
      	u8	Content (0 => Server list)
      	u8	Version (ie. 1)
      	u8	Source (eg. DNS_RECORD_FROM_DNS_SRV)
      	u8	Status (eg. DNS_LOOKUP_GOOD)
      	u8	Number of servers
      	foreach-server {
      		u16	Name length (LE)
      		u16	Priority (as per SRV record) (LE)
      		u16	Weight (as per SRV record) (LE)
      		u16	Port (LE)
      		u8	Source (eg. DNS_RECORD_FROM_NSS)
      		u8	Status (eg. DNS_LOOKUP_GOT_NOT_FOUND)
      		u8	Protocol (eg. DNS_SERVER_PROTOCOL_UDP)
      		u8	Number of addresses
      		char[]	Name (not NUL-terminated)
      		foreach-address {
      			u8		Family (AF_INET{,6})
      			union {
      				u8[4]	ipv4_addr
      				u8[16]	ipv6_addr
      			}
      		}
      	}
      
      This can then be used to fetch a whole cell's VL-server configuration for
      AFS, for example.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bbb4c432
    • Colin Ian King's avatar
      liquidio: fix a couple of spelling mistakes · 0aa63eb9
      Colin Ian King authored
      Trivial fix to spelling mistakes in dev_dbg warning messages
      
      "Reloade" -> "Reload"
      "chang" -> "change"
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0aa63eb9
    • David S. Miller's avatar
      Merge branch 'ieee802154-for-davem-2018-10-04' of... · 6a5e6b11
      David S. Miller authored
      Merge branch 'ieee802154-for-davem-2018-10-04' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next
      
      Stefan Schmidt says:
      
      ====================
      pull-request: ieee802154-next 2018-10-04
      
      An update from ieee802154 for *net-next*
      
      A very quite cycle in the ieee802154 subsystem. We only have two cleanup
      patches for this pull request.
      Xue removed the platform_data struct handling from the mcr20a driver and
      Alexander cleaned up some left overs in the hwsim driver.
      
      Please pull, or let me know if there are any problems.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6a5e6b11
    • David Howells's avatar
      rxrpc: Allow the reply time to be obtained on a client call · e908bcf4
      David Howells authored
      Allow the epoch value to be queried on a server connection.  This is in the
      rxrpc header of every packet for use in routing and is derived from the
      client's state.  It's also not supposed to change unless the client gets
      restarted.
      
      AFS can make use of this information to deduce whether a fileserver has
      been restarted because the fileserver makes client calls to the filesystem
      driver's cache manager to send notifications (ie. callback breaks) about
      conflicting changes from other clients.  These convey the fileserver's own
      epoch value back to the filesystem.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      e908bcf4
    • David Howells's avatar
      rxrpc: Allow the reply time to be obtained on a client call · 2070a3e4
      David Howells authored
      Allow the timestamp on the sk_buff holding the first DATA packet of a reply
      to be queried.  This can then be used as a base for the expiry time
      calculation on the callback promise duration indicated by an operation
      result.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      2070a3e4
    • David Howells's avatar
      rxrpc: Drop the local endpoint arg from rxrpc_extract_addr_from_skb() · 5a790b73
      David Howells authored
      rxrpc_extract_addr_from_skb() doesn't use the argument that points to the
      local endpoint, so remove the argument.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      5a790b73
    • David Howells's avatar
      rxrpc: Use IPv4 addresses throught the IPv6 · 46894a13
      David Howells authored
      AF_RXRPC opens an IPv6 socket through which to send and receive network
      packets, both IPv6 and IPv4.  It currently turns AF_INET addresses into
      AF_INET-as-AF_INET6 addresses based on an assumption that this was
      necessary; on further inspection of the code, however, it turns out that
      the IPv6 code just farms packets aimed at AF_INET addresses out to the IPv4
      code.
      
      Fix AF_RXRPC to use AF_INET addresses directly when given them.
      
      Fixes: 7b674e39 ("rxrpc: Fix IPv6 support")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      46894a13
    • David Howells's avatar
      afs: Sort address lists so that they are in logical ascending order · 66be646b
      David Howells authored
      Sort address lists so that they are in logical ascending order rather than
      being partially in ascending order of the BE representations of those
      values.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      66be646b
    • David Howells's avatar
      afs: Always build address lists using the helper functions · 4c19bbdc
      David Howells authored
      Make the address list string parser use the helper functions for adding
      addresses to an address list so that they end up appropriately sorted.
      This will better handles overruns and make them easier to compare.
      
      It also reduces the number of places that addresses are handled, making it
      easier to fix the handling.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      4c19bbdc
    • David Howells's avatar
      afs: Do better max capacity handling on address lists · 68eb64c3
      David Howells authored
      Note the maximum allocated capacity in an afs_addr_list struct and discard
      addresses that would exceed it in afs_merge_fs_addr{4,6}().
      
      Also, since the current maximum capacity is less than 255, reduce the
      relevant members to bytes.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      68eb64c3
    • David Howells's avatar
      rxrpc: Emit the data Tx trace line before transmitting · b3cfb6f5
      David Howells authored
      Print the data Tx trace line before transmitting so that it appears before
      the trace lines indicating success or failure of the transmission.  This
      makes the trace log less confusing.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      b3cfb6f5
    • David Howells's avatar
      rxrpc: Use rxrpc_free_skb() rather than rxrpc_lose_skb() · d2944b1c
      David Howells authored
      rxrpc_lose_skb() is now exactly the same as rxrpc_free_skb(), so remove it
      and use the latter instead.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      d2944b1c