Page MenuHomeFreeBSD

tests/netinet6: Add SLAAC and RA validation tests to ndp
ClosedPublic

Authored by pouria on Sat, Mar 28, 7:39 PM.
Tags
None
Referenced Files
F153298007: D56128.id175377.diff
Mon, Apr 20, 8:03 AM
Unknown Object (File)
Sat, Apr 18, 7:37 PM
Unknown Object (File)
Sat, Apr 18, 3:11 PM
Unknown Object (File)
Sat, Apr 18, 1:26 PM
Unknown Object (File)
Sat, Apr 18, 1:01 AM
Unknown Object (File)
Fri, Apr 17, 3:09 AM
Unknown Object (File)
Thu, Apr 16, 10:55 PM
Unknown Object (File)
Thu, Apr 16, 2:49 AM

Details

Summary
  • RA hop limit validation
  • RA source address validation
  • Multi router RA validation
  • Two hour rule RA validation
  • SLAAC onlink prefix switching test
Test Plan
# kyua test -k /usr/tests/Kyuafile sys/netinet6/ndp
sys/netinet6/ndp:ndp_prefix_lifetime_extend  ->  passed  [0.738s]
sys/netinet6/ndp:ndp_add_gu_success  ->  passed  [2.801s]
sys/netinet6/ndp:ndp_prefix_len_mismatch  ->  passed  [3.009s]
sys/netinet6/ndp:ndp_del_gu_success  ->  passed  [3.301s]
sys/netinet6/ndp:ndp_grand_linklayer_event  ->  passed  [5.151s]
sys/netinet6/ndp:ndp_slaac_default_route  ->  passed  [6.204s]
sys/netinet6/ndp:ndp_slaac_twohour_rule  ->  passed  [6.474s]
sys/netinet6/ndp:ndp_input_validation_src_linklocal  ->  passed  [6.798s]
sys/netinet6/ndp:ndp_multirouter_pref  ->  passed  [6.247s]
sys/netinet6/ndp:ndp_input_validation_hlim  ->  passed  [5.869s]
sys/netinet6/ndp:ndp_slaac_switch_onlink_prefix  ->  passed  [10.435s]
sys/netinet6/ndp:ndp_prefix_lifetime  ->  passed  [17.059s]

Results file id is usr_tests.20260328-193320-696702
Results saved to /root/.kyua/store/results.usr_tests.20260328-193320-696702.db

12/12 passed (0 broken, 0 failed, 0 skipped)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

tests/sys/netinet6/ndp.sh
579–581

XXX comment is for D55449 and ideally a node with multiple routers on its link should have multiple default routes with different nexthop weights.

663–672

FYI, this behavior seemed odd.
we update the prefix valid lifetime in ndp -p when we shouldn't.
However, It's not going to be a problem since we don't update the actual vltime on ifa.

tests/sys/netinet6/ndp.sh
306–311

Normal style is to keep if and then on the same line.

570

You can wait less here, e.g. 0.01. Should save on tests execution time.

630–632

Maybe provide a generic waiting function that waits for certain count of routers?

pouria marked 2 inline comments as done.

@glebius Done.

tests/sys/netinet6/ndp.sh
630–632

Some tests need specific number of routers, some don't care and just need at least one.
I've tried to write one, but it become more complex than necessary.
I want to add other tests too, I'll try to generalize these later, if you're ok with that.
Thank you!

No objection, but I'm not ND expert. The test coding looks good.

This revision is now accepted and ready to land.Fri, Apr 17, 8:25 PM
This revision was landed with ongoing or failed builds.Fri, Apr 17, 10:59 PM
This revision was automatically updated to reflect the committed changes.