Page MenuHomeFreeBSD

routing: add nhop(9) kpi.
ClosedPublic

Authored by melifaro on Fri, Jul 29, 12:33 PM.

Details

Summary

Implement nhop(9) KPI to allow nexthop construction by the external callers.
This is one of the pre-requsits of netlink introduction.

Test Plan
15:36 [0] m@devel0 s kyua test -k /usr/tests/sys/net/routing/Kyuafile
test_rtsock_l3:rtm_add_v4_gu_ifa_ordered_success  ->  passed  [0.124s]
test_rtsock_l3:rtm_add_v4_gw_direct_success  ->  passed  [0.116s]
test_rtsock_l3:rtm_add_v4_no_rtf_host_success  ->  passed  [0.133s]
test_rtsock_l3:rtm_add_v4_temporal1_success  ->  passed  [0.188s]
test_rtsock_l3:rtm_add_v6_gu_gw_gu_direct_success  ->  passed  [0.143s]
test_rtsock_l3:rtm_add_v6_gu_ifa_hostroute_success  ->  passed  [0.170s]
test_rtsock_l3:rtm_add_v6_gu_ifa_ordered_success  ->  passed  [0.138s]
test_rtsock_l3:rtm_add_v6_gu_ifa_prefixroute_success  ->  passed  [0.114s]
test_rtsock_l3:rtm_add_v6_temporal1_success  ->  passed  [0.091s]
test_rtsock_l3:rtm_change_v4_flags_success  ->  passed  [0.122s]
test_rtsock_l3:rtm_change_v4_gw_success  ->  passed  [0.148s]
test_rtsock_l3:rtm_change_v4_mtu_success  ->  passed  [0.122s]
test_rtsock_l3:rtm_change_v6_flags_success  ->  passed  [0.128s]
test_rtsock_l3:rtm_change_v6_gw_success  ->  passed  [0.122s]
test_rtsock_l3:rtm_change_v6_mtu_success  ->  passed  [0.123s]
test_rtsock_l3:rtm_del_v4_gu_ifa_prefixroute_success  ->  passed  [0.148s]
test_rtsock_l3:rtm_del_v4_prefix_nogw_success  ->  passed  [0.164s]
test_rtsock_l3:rtm_del_v6_gu_ifa_hostroute_success  ->  passed  [0.150s]
test_rtsock_l3:rtm_del_v6_gu_ifa_prefixroute_success  ->  passed  [0.138s]
test_rtsock_l3:rtm_del_v6_gu_prefix_nogw_success  ->  passed  [0.118s]
test_rtsock_l3:rtm_get_v4_empty_dst_failure  ->  passed  [0.003s]
test_rtsock_l3:rtm_get_v4_exact_success  ->  passed  [0.114s]
test_rtsock_l3:rtm_get_v4_hostbits_success  ->  passed  [0.132s]
test_rtsock_l3:rtm_get_v4_lpm_success  ->  passed  [0.046s]
test_rtsock_lladdr:rtm_add_v4_gu_lle_success  ->  passed  [0.116s]
test_rtsock_lladdr:rtm_add_v6_gu_lle_success  ->  passed  [0.141s]
test_rtsock_lladdr:rtm_add_v6_ll_lle_success  ->  passed  [0.143s]
test_rtsock_lladdr:rtm_del_v4_gu_lle_success  ->  passed  [0.114s]
test_rtsock_lladdr:rtm_del_v6_gu_lle_success  ->  passed  [0.145s]
test_rtsock_lladdr:rtm_del_v6_ll_lle_success  ->  passed  [0.154s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[change_new_weight1]  ->  passed  [0.323s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[change_new_weight2]  ->  passed  [0.308s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[change_new_weight3]  ->  passed  [0.309s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[change_same_weight1]  ->  passed  [0.312s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[change_same_weight2]  ->  passed  [0.312s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[correctness1]  ->  passed  [0.319s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[correctness2]  ->  passed  [0.352s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[transition_multi]  ->  passed  [0.305s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[transition_single1]  ->  passed  [0.297s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[transition_single2]  ->  passed  [0.299s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[weight1]  ->  passed  [0.302s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[weight2]  ->  passed  [0.289s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4[weight3_max]  ->  passed  [0.293s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4_add_same_eexist  ->  passed  [0.306s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4_add_zero_weight  ->  passed  [0.294s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4_change_unknown_esrch  ->  passed  [0.286s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4_del_unknown_esrch  ->  passed  [0.290s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath4_getroute  ->  passed  [0.293s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[change_new_weight1]  ->  passed  [0.301s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[change_new_weight2]  ->  passed  [0.303s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[change_new_weight3]  ->  passed  [0.339s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[change_same_weight1]  ->  passed  [0.305s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[change_same_weight2]  ->  passed  [0.310s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[correctness1]  ->  passed  [0.322s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[correctness2]  ->  passed  [0.321s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[transition_multi]  ->  passed  [0.301s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[transition_single1]  ->  passed  [0.324s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[transition_single2]  ->  passed  [0.305s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[weight1]  ->  passed  [0.303s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[weight2]  ->  passed  [0.301s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[weight3_max0]  ->  passed  [0.302s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6[weight3_max1]  ->  passed  [0.299s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6_add_same_eexist  ->  passed  [0.300s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6_change_unknown_esrch  ->  passed  [0.284s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6_del_unknown_esrch  ->  passed  [0.300s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6_getroute  ->  passed  [0.291s]
test_rtsock_multipath.py:TestRtmMultipath::test_rtm_multipath6_random  ->  passed  [0.353s]

Diff Detail

Repository
rG FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

gbe added a subscriber: gbe.

Update the Reviewers List.

melifaro edited the test plan for this revision. (Show Details)
This revision was not accepted when it landed; it landed in state Needs Review.Mon, Aug 1, 8:54 AM
This revision was automatically updated to reflect the committed changes.