1. 15 Mar, 2017 7 commits
  2. 14 Mar, 2017 20 commits
  3. 13 Mar, 2017 13 commits
    • Francois Romieu's avatar
      atm: remove an unnecessary loop · c55fa3cc
      Francois Romieu authored
      Andrey reported this kernel warning:
      
      WARNING: CPU: 0 PID: 4114 at kernel/sched/core.c:7737 __might_sleep+0x149/0x1a0
      do not call blocking ops when !TASK_RUNNING; state=1 set at
      [<ffffffff813fcb22>] prepare_to_wait+0x182/0x530
      
      The deeply nested alloc_skb is a problem.
      
      Diagnosis: nesting is wrong. It makes zero sense. Fix it and the
      implicit task state change problem automagically goes away.
      
      alloc_skb() does not need to be in the "while" loop.
      
      alloc_skb() does not need to be in the {prepare_to_wait/add_wait_queue ...
      finish_wait/remove_wait_queue} block.
      
      I claim that:
      - alloc_tx() should only perform the "wait_for_decent_tx_drain" part
      - alloc_skb() ought to be done directly in vcc_sendmsg
      - alloc_skb() failure can be handled gracefully in vcc_sendmsg
      - alloc_skb() may use a (m->msg_flags & MSG_DONTWAIT) dependent
        GFP_{KERNEL / ATOMIC} flag
      Reported-by: default avatarAndrey Konovalov <andreyknvl@google.com>
      Reviewed-and-Tested-by: default avatarChas Williams <3chas3@gmail.com>
      Signed-off-by: default avatarChas Williams <3chas3@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c55fa3cc
    • Mintz, Yuval's avatar
      qed*: Utilize Firmware 8.15.3.0 · be086e7c
      Mintz, Yuval authored
      This patch advances the qed* drivers into using the newer firmware -
      This solves several firmware bugs, mostly related [but not limited to]
      various init/deinit issues in various offloaded protocols.
      
      It also introduces a major 4-Cached SGE change in firmware, which can be
      seen in the storage drivers' changes.
      
      In addition, this firmware is required for supporting the new QL41xxx
      series of adapters; While this patch doesn't add the actual support,
      the firmware contains the necessary initialization & firmware logic to
      operate such adapters [actual support would be added later on].
      
      Changes from Previous versions:
      -------------------------------
       - V2 - fix kbuild-test robot warnings
      Signed-off-by: default avatarTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
      Signed-off-by: default avatarManish Rangankar <Manish.Rangankar@cavium.com>
      Signed-off-by: default avatarChad Dupuis <Chad.Dupuis@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be086e7c
    • David S. Miller's avatar
      Merge branch 'mpls-ttl-propagation' · 6a019c5c
      David S. Miller authored
      Robert Shearman says:
      
      ====================
      mpls: allow TTL propagation from IP packets to be configured
      
      Allow TTL propagation from IP packets to MPLS packets to be
      configured. Add a new optional LWT attribute, MPLS_IPTUNNEL_TTL, which
      allows the TTL to be set in the resulting MPLS packet, with the value
      of 0 having the semantics of enabling propagation of the TTL from the
      IP header (i.e. non-zero values disable propagation).
      
      Also allow the configuration to be overridden globally by reusing the
      same sysctl to control whether the TTL is propagated from IP packets
      into the MPLS header. If the per-LWT attribute is set then it
      overrides the global configuration. If the TTL isn't propagated then a
      default TTL value is used which can be configured via a new sysctl,
      "net.mpls.default_ttl". This is kept separate from the configuration
      of whether IP TTL propagation is enabled as it can be used in the
      future when non-IP payloads are supported (i.e. where there is no
      payload TTL that can be propagated).
      ====================
      Signed-off-by: default avatarRobert Shearman <rshearma@brocade.com>
      Acked-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6a019c5c
    • Robert Shearman's avatar
      mpls: allow TTL propagation from IP packets to be configured · a59166e4
      Robert Shearman authored
      Allow TTL propagation from IP packets to MPLS packets to be
      configured. Add a new optional LWT attribute, MPLS_IPTUNNEL_TTL, which
      allows the TTL to be set in the resulting MPLS packet, with the value
      of 0 having the semantics of enabling propagation of the TTL from the
      IP header (i.e. non-zero values disable propagation).
      
      Also allow the configuration to be overridden globally by reusing the
      same sysctl to control whether the TTL is propagated from IP packets
      into the MPLS header. If the per-LWT attribute is set then it
      overrides the global configuration. If the TTL isn't propagated then a
      default TTL value is used which can be configured via a new sysctl,
      "net.mpls.default_ttl". This is kept separate from the configuration
      of whether IP TTL propagation is enabled as it can be used in the
      future when non-IP payloads are supported (i.e. where there is no
      payload TTL that can be propagated).
      Signed-off-by: default avatarRobert Shearman <rshearma@brocade.com>
      Acked-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Tested-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a59166e4
    • Robert Shearman's avatar
      mpls: allow TTL propagation to IP packets to be configured · 5b441ac8
      Robert Shearman authored
      Provide the ability to control on a per-route basis whether the TTL
      value from an MPLS packet is propagated to an IPv4/IPv6 packet when
      the last label is popped as per the theoretical model in RFC 3443
      through a new route attribute, RTA_TTL_PROPAGATE which can be 0 to
      mean disable propagation and 1 to mean enable propagation.
      
      In order to provide the ability to change the behaviour for packets
      arriving with IPv4/IPv6 Explicit Null labels and to provide an easy
      way for a user to change the behaviour for all existing routes without
      having to reprogram them, a global knob is provided. This is done
      through the addition of a new per-namespace sysctl,
      "net.mpls.ip_ttl_propagate", which defaults to enabled. If the
      per-route attribute is set (either enabled or disabled) then it
      overrides the global configuration.
      Signed-off-by: default avatarRobert Shearman <rshearma@brocade.com>
      Acked-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Tested-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5b441ac8
    • Philippe Reynes's avatar
      net: usb: rtl8150: use new api ethtool_{get|set}_link_ksettings · b66239b6
      Philippe Reynes authored
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      
      As I don't have the hardware, I'd be very pleased if
      someone may test this patch.
      Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b66239b6
    • Philippe Reynes's avatar
      net: usb: r8152: use new api ethtool_{get|set}_link_ksettings · 06144dcf
      Philippe Reynes authored
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      
      As I don't have the hardware, I'd be very pleased if
      someone may test this patch.
      Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
      Acked-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      06144dcf
    • Philippe Reynes's avatar
      net: usb: catc: use new api ethtool_{get|set}_link_ksettings · de1e98c6
      Philippe Reynes authored
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      
      As I don't have the hardware, I'd be very pleased if
      someone may test this patch.
      Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de1e98c6
    • Philippe Reynes's avatar
      net: usb: asix88179_178a: use new api ethtool_{get|set}_link_ksettings · 3c9b803b
      Philippe Reynes authored
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      
      As I don't have the hardware, I'd be very pleased if
      someone may test this patch.
      Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3c9b803b
    • Philippe Reynes's avatar
      net: tun: use new api ethtool_{get|set}_link_ksettings · 29ccc49d
      Philippe Reynes authored
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      29ccc49d
    • Philippe Reynes's avatar
      net: net_netdev: use new api ethtool_{get|set}_link_ksettings · a062d19e
      Philippe Reynes authored
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      
      As I don't have the hardware, I'd be very pleased if
      someone may test this patch.
      Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a062d19e
    • David S. Miller's avatar
      Merge branch 'gtp-misc-improvements' · 3e3eec09
      David S. Miller authored
      Andreas Schultz says:
      
      ====================
      gtp: misc improvements
      
      This is a resent of last series that missed the merge window. There
      are no changes compared to v4.
      
      v4: Compared to v3 it contains mostly smallish naming and spelling fixes.
      It also drops the documentation patch, Harald did a better job with the
      documentation and the some things I described do not yet match the implementation.
      I'll readd the relevant parts with a follow up series.
      
      This series lays the groundwork for removing the socket references from
      the GTP netdevice by removing duplicate code and simplifying the logic on
      some code paths.
      
      It slighly changes the GTP genl API by making the socket parameters optional
      (though one of them is still required).
      
      The removal of the socket references will break the 1:1 releation between
      GTP netdevice and GTP socket that prevents us to support multiple VRFs with
      overlapping IP addresse spaces attached to the same GTP-U entity (needed for
      multi APN support, coming a follow up series).
      
      Pablo found a socket hold problem in v2. In order to solve that I had to
      switch the socket references from the struct socket to the internal
      struct sock. This should have no functionl impact, but we can now hang
      on to the reference without blocking user space from closing the GTP socket.
      
      v4->v5:
       * resent for new merge window
      v3->v4:
       * drop the documentation patch
       * spelling fixes
       * pass nlattr instead of genl_info into gtp_find_dev,
         makes the code slightly more compact and readable
      v2->v3:
       * add documentation to explain the goal of all these changes
       * incorporate review comments
       * switch from struct socket to struct sock
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3e3eec09
    • Andreas Schultz's avatar
      gtp: add socket to pdp context · 101cfbc1
      Andreas Schultz authored
      Having the socket present in context simplifies the sending logic.
      It also fixes the invalid assumption that we have to use the same
      sending socket for all client IP's on a specific gtp interface.
      Signed-off-by: default avatarAndreas Schultz <aschultz@tpip.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      101cfbc1