• Peter Oskolkov's avatar
    6lowpan: use rbtree for IP frag queue · 254c5dbe
    Peter Oskolkov authored
    This patch aligns IP defragmenation logic in 6lowpan with that
    of IPv4 and IPv6: see
    commit d4289fcc ("net: IP6 defrag: use rbtrees for IPv6 defrag")
    
    Modifying ip_defrag selftest seemed like an overkill, as I suspect
    most kernel test setups do not have 6lowpan hwsim enabled. So I ran
    the following code/script manually:
    
    	insmod ./mac802154_hwsim.ko
    
    	iwpan dev wpan0 set pan_id 0xbeef
    	ip link add link wpan0 name lowpan0 type lowpan
    	ip link set wpan0 up
    	ip link set lowpan0 up
    
    	iwpan dev wpan1 set pan_id 0xbeef
    	ip netns add foo
    	iwpan phy1 set netns name foo
    	ip netns exec foo ip link add link wpan1 name lowpan1 type lowpan
    	ip netns exec foo ip link set wpan1 up
    	ip netns exec foo ip link set lowpan1 up
    
    	ip -6 addr add "fb01::1/128" nodad dev lowpan0
    	ip -netns foo -6 addr add "fb02::1/128" nodad dev lowpan1
    
    	ip -6 route add "fb02::1/128" dev lowpan0
    	ip -netns foo -6 route add "fb01::1/128" dev lowpan1
    
    	# then in term1:
    	   ip netns exec foo bash
    	   ./udp_stream -6
    
    	# in term2:
    	    ./udp_stream -c -6 -H fb02::1
    
    	# pr_warn_once showed that the code changed by this patch
    	# was invoked.
    Signed-off-by: default avatarPeter Oskolkov <posk@google.com>
    Acked-by: default avatarAlexander Aring <aring@mojatatu.com>
    Signed-off-by: default avatarStefan Schmidt <stefan@datenfreihafen.org>
    254c5dbe
reassembly.c 13.1 KB