1. 01 Oct, 2017 11 commits
  2. 30 Sep, 2017 3 commits
    • Colin Ian King's avatar
      mkiss: remove redundant check on len being zero · 45c1fd61
      Colin Ian King authored
      The check on len is redundant as it is always greater than 1,
      so just remove it and make the printk less complex.
      
      Detected by CoverityScan, CID#1226729 ("Logically dead code")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      45c1fd61
    • Maciej Żenczykowski's avatar
      net-ipv6: add support for sockopt(SOL_IPV6, IPV6_FREEBIND) · 84e14fe3
      Maciej Żenczykowski authored
      So far we've been relying on sockopt(SOL_IP, IP_FREEBIND) being usable
      even on IPv6 sockets.
      
      However, it turns out it is perfectly reasonable to want to set freebind
      on an AF_INET6 SOCK_RAW socket - but there is no way to set any SOL_IP
      socket option on such a socket (they're all blindly errored out).
      
      One use case for this is to allow spoofing src ip on a raw socket
      via sendmsg cmsg.
      
      Tested:
        built, and booted
        # python
        >>> import socket
        >>> SOL_IP = socket.SOL_IP
        >>> SOL_IPV6 = socket.IPPROTO_IPV6
        >>> IP_FREEBIND = 15
        >>> IPV6_FREEBIND = 78
        >>> s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM, 0)
        >>> s.getsockopt(SOL_IP, IP_FREEBIND)
        0
        >>> s.getsockopt(SOL_IPV6, IPV6_FREEBIND)
        0
        >>> s.setsockopt(SOL_IPV6, IPV6_FREEBIND, 1)
        >>> s.getsockopt(SOL_IP, IP_FREEBIND)
        1
        >>> s.getsockopt(SOL_IPV6, IPV6_FREEBIND)
        1
      Signed-off-by: default avatarMaciej Żenczykowski <maze@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      84e14fe3
    • Mike Manning's avatar
      net: ipv6: send NS for DAD when link operationally up · 1f372c7b
      Mike Manning authored
      The NS for DAD are sent on admin up as long as a valid qdisc is found.
      A race condition exists by which these packets will not egress the
      interface if the operational state of the lower device is not yet up.
      The solution is to delay DAD until the link is operationally up
      according to RFC2863. Rather than only doing this, follow the existing
      code checks by deferring IPv6 device initialization altogether. The fix
      allows DAD on devices like tunnels that are controlled by userspace
      control plane. The fix has no impact on regular deployments, but means
      that there is no IPv6 connectivity until the port has been opened in
      the case of port-based network access control, which should be
      desirable.
      Signed-off-by: default avatarMike Manning <mmanning@brocade.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f372c7b
  3. 29 Sep, 2017 25 commits
  4. 28 Sep, 2017 1 commit
    • David S. Miller's avatar
      Merge branch 'hns3-dcb' · de9c8a6a
      David S. Miller authored
      Yunsheng Lin says:
      
      ====================
      Add support for DCB feature in hns3 driver
      
      The patchset contains some enhancement related to DCB before
      adding support for DCB feature.
      
      This patchset depends on the following patchset:
      https://patchwork.ozlabs.org/cover/815646/
      https://patchwork.ozlabs.org/cover/816145/
      
      High Level Architecture:
      
                         [ lldpad ]
                             |
                             |
                             |
                       [ hns3_dcbnl ]
                             |
                             |
                             |
                       [ hclge_dcb ]
                         /      \
                      /            \
                   /                  \
           [ hclge_main ]        [ hclge_tm ]
      
      Current patch-set support following functionality:
         Use of lldptool to configure the tc schedule mode, tc
         bandwidth(if schedule mode is ETS), prio_tc_map and
         PFC parameter.
      
      V3: Drop mqprio support
      
      V2: Fix for not defining variables in local loop.
      
      V1: Initial Submit.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de9c8a6a