1. 04 Oct, 2018 14 commits
    • 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
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6f41617b
      David S. Miller authored
      Minor conflict in net/core/rtnetlink.c, David Ahern's bug fix in 'net'
      overlapped the renaming of a netlink attribute in net-next.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f41617b
  2. 03 Oct, 2018 26 commits