1. 12 Mar, 2015 2 commits
  2. 11 Mar, 2015 11 commits
  3. 10 Mar, 2015 8 commits
  4. 09 Mar, 2015 16 commits
  5. 08 Mar, 2015 3 commits
    • Willem de Bruijn's avatar
      ip: fix error queue empty skb handling · c247f053
      Willem de Bruijn authored
      When reading from the error queue, msg_name and msg_control are only
      populated for some errors. A new exception for empty timestamp skbs
      added a false positive on icmp errors without payload.
      
      `traceroute -M udpconn` only displayed gateways that return payload
      with the icmp error: the embedded network headers are pulled before
      sock_queue_err_skb, leaving an skb with skb->len == 0 otherwise.
      
      Fix this regression by refining when msg_name and msg_control
      branches are taken. The solutions for the two fields are independent.
      
      msg_name only makes sense for errors that configure serr->port and
      serr->addr_offset. Test the first instead of skb->len. This also fixes
      another issue. saddr could hold the wrong data, as serr->addr_offset
      is not initialized  in some code paths, pointing to the start of the
      network header. It is only valid when serr->port is set (non-zero).
      
      msg_control support differs between IPv4 and IPv6. IPv4 only honors
      requests for ICMP and timestamps with SOF_TIMESTAMPING_OPT_CMSG. The
      skb->len test can simply be removed, because skb->dev is also tested
      and never true for empty skbs. IPv6 honors requests for all errors
      aside from local errors and timestamps on empty skbs.
      
      In both cases, make the policy more explicit by moving this logic to
      a new function that decides whether to process msg_control and that
      optionally prepares the necessary fields in skb->cb[]. After this
      change, the IPv4 and IPv6 paths are more similar.
      
      The last case is rxrpc. Here, simply refine to only match timestamps.
      
      Fixes: 49ca0d8b ("net-timestamp: no-payload option")
      Reported-by: default avatarJan Niehusmann <jan@gondor.com>
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      
      ----
      
      Changes
        v1->v2
        - fix local origin test inversion in ip6_datagram_support_cmsg
        - make v4 and v6 code paths more similar by introducing analogous
          ipv4_datagram_support_cmsg
        - fix compile bug in rxrpc
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c247f053
    • Eric W. Biederman's avatar
      neigh: Use neigh table index for neigh_packet_xmit · b79bda3d
      Eric W. Biederman authored
      Remove a little bit of unnecessary work when transmitting a packet with
      neigh_packet_xmit.  Use the neighbour table index not the address family
      as a parameter.
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b79bda3d
    • Eric W. Biederman's avatar
      mpls: Fix the openvswitch select of NET_MPLS_GSO · 7d5f41f2
      Eric W. Biederman authored
      Fix the OPENVSWITCH Kconfig option and old Kconfigs by having
      OPENVSWITCH select both NET_MPLS_GSO and MPLSO.
      
      A Kbuild test robot reported that when NET_MPLS_GSO is selected by
      OPENVSWITCH the generated .config is broken because MPLS is not
      selected.
      
      Cc: Simon Horman <horms@verge.net.au>
      Fixes: cec9166c mpls: Refactor how the mpls module is built
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Reviewed-by: default avatarSimon Horman <horms@verge.net.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7d5f41f2