1. 01 1月, 2014 3 次提交
    • D
      netlink: specify netlink packet direction for nlmon · 604d13c9
      Daniel Borkmann 提交于
      In order to facilitate development for netlink protocol dissector,
      fill the unused field skb->pkt_type of the cloned skb with a hint
      of the address space of the new owner (receiver) socket in the
      notion of "to kernel" resp. "to user".
      
      At the time we invoke __netlink_deliver_tap_skb(), we already have
      set the new skb owner via netlink_skb_set_owner_r(), so we can use
      that for netlink_is_kernel() probing.
      
      In normal PF_PACKET network traffic, this field denotes if the
      packet is destined for us (PACKET_HOST), if it's broadcast
      (PACKET_BROADCAST), etc.
      
      As we only have 3 bit reserved, we can use the value (= 6) of
      PACKET_FASTROUTE as it's _not used_ anywhere in the whole kernel
      and not supported anywhere, and packets of such type were never
      exposed to user space, so there are no overlapping users of such
      kind. Thus, as wished, that seems the only way to make both
      PACKET_* values non-overlapping and therefore device agnostic.
      
      By using those two flags for netlink skbs on nlmon devices, they
      can be made available and picked up via sll_pkttype (previously
      unused in netlink context) in struct sockaddr_ll. We now have
      these two directions:
      
       - PACKET_USER (= 6)    ->  to user space
       - PACKET_KERNEL (= 7)  ->  to kernel space
      
      Partial `ip a` example strace for sa_family=AF_NETLINK with
      detected nl msg direction:
      
      syscall:                     direction:
      sendto(3,  ...) = 40         /* to kernel */
      recvmsg(3, ...) = 3404       /* to user */
      recvmsg(3, ...) = 1120       /* to user */
      recvmsg(3, ...) = 20         /* to user */
      sendto(3,  ...) = 40         /* to kernel */
      recvmsg(3, ...) = 168        /* to user */
      recvmsg(3, ...) = 144        /* to user */
      recvmsg(3, ...) = 20         /* to user */
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: NJakub Zawadzki <darkjames-ws@darkjames.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      604d13c9
    • N
      printk: Add a DEPRECATED macro · 0a9a8bfd
      Neil Horman 提交于
      sctp has several points in its setsockopt path in which it issues deprecation
      warnings.  It seems like it might be handy to macrotize such a warning so other
      subsystems can use it easily
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: linux-kernel@vger.kernel.org
      CC: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0a9a8bfd
    • T
      net: Allow setting sock flow hash without a sock · fe477558
      Tom Herbert 提交于
      This patch adds sock_rps_record_flow_hash and sock_rps_reset_flow_hash
      which take a hash value as an argument and sets the sock_flow_table
      accordingly.  This allows the table to be populated in cases where flow
      is being tracked outside of a sock structure.
      
      sock_rps_record_flow and sock_rps_reset_flow call this function
      where the hash is taken from sk_rxhash.
      Signed-off-by: NTom Herbert <therbert@google.com>
      Signed-off-by: NZhi Yong Wu <wuzhy@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fe477558
  2. 30 12月, 2013 2 次提交
  3. 29 12月, 2013 3 次提交
  4. 28 12月, 2013 1 次提交
  5. 27 12月, 2013 2 次提交
  6. 23 12月, 2013 1 次提交
  7. 20 12月, 2013 10 次提交
  8. 19 12月, 2013 10 次提交
  9. 18 12月, 2013 8 次提交