From: David M. <da...@da...> - 2020-08-18 22:59:48
|
From: Xin Long <luc...@gm...> Date: Mon, 17 Aug 2020 14:30:49 +0800 > This patch is to do 3 things for ipv6_dev_find(): > > As David A. noticed, > > - rt6_lookup() is not really needed. Different from __ip_dev_find(), > ipv6_dev_find() doesn't have a compatibility problem, so remove it. > > As Hideaki suggested, > > - "valid" (non-tentative) check for the address is also needed. > ipv6_chk_addr() calls ipv6_chk_addr_and_flags(), which will > traverse the address hash list, but it's heavy to be called > inside ipv6_dev_find(). This patch is to reuse the code of > ipv6_chk_addr_and_flags() for ipv6_dev_find(). > > - dev parameter is passed into ipv6_dev_find(), as link-local > addresses from user space has sin6_scope_id set and the dev > lookup needs it. > > Fixes: 81f6cb31222d ("ipv6: add ipv6_dev_find()") > Suggested-by: YOSHIFUJI Hideaki <hid...@mi...> > Reported-by: David Ahern <ds...@gm...> > Signed-off-by: Xin Long <luc...@gm...> Applied, thank you. |