On 1/18/21 7:05 AM, Petr Machata wrote:
> From: Petr Machata <pe...@nvidia.org>
> 
> There is currently one policy that covers all attributes for next hop
> object management. Actual validation is then done in code, which makes it
> unobvious which attributes are acceptable when, and indeed that everything
> is rejected as necessary.
> 
> In this series, split rtm_nh_policy to several policies that cover various
> aspects of the next hop object configuration, and instead of open-coding
> the validation, defer to nlmsg_parse(). This should make extending the next
> hop code simpler as well, which will be relevant in near future for
> resilient hashing implementation.
> 
> This was tested by running tools/testing/selftests/net/fib_nexthops.sh.
> Additionally iproute2 was tweaked to issue "nexthop list id" as an
> RTM_GETNEXTHOP dump request, instead of a straight get to test that
> unexpected attributes are indeed rejected.
> 
> In patch #1, convert attribute validation in nh_valid_get_del_req().
> 
> In patch #2, convert nh_valid_dump_req().
> 
> In patch #3, rtm_nh_policy is cleaned up and renamed to rtm_nh_policy_new,
> because after the above two patches, that is the only context that it is
> used in.
> 
> Petr Machata (3):
>   nexthop: Use a dedicated policy for nh_valid_get_del_req()
>   nexthop: Use a dedicated policy for nh_valid_dump_req()
>   nexthop: Specialize rtm_nh_policy
> 
>  net/ipv4/nexthop.c | 85 +++++++++++++++++-----------------------------
>  1 file changed, 32 insertions(+), 53 deletions(-)
> 

good cleanup. thanks for doing this. Did you run fib_nexthops.sh
selftests on the change? Seems right, but always good to run that script
which has functional tests about valid attribute combinations.

Reply via email to