[LU-16822] test IPv6 NIDs in sanity-lnet.sh Created: 11/May/23  Updated: 08/Jan/24

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Andreas Dilger Assignee: James A Simmons
Resolution: Unresolved Votes: 0
Labels: IPv6

Issue Links:
Related
is related to LU-10391 LNET: Support IPv6 Reopened
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

It should be possible to add test cases to sanity-lnet.sh that are using IPv6 addresses that are (probably) already being assigned to the test nodes in autotest.

As a starting point, a patch that is adding a new test_0 that is just printing out the interfaces configured in the VM node with ifconfig (or new-fangled alternative) would give us useful information and not be harmful in the future.

At that point, if the client and MDS/OSS nodes have IPv6 addresses assigned, it should be possible to add subtests that are configuring IPv6 NIDs:

  • use lnetctl to add IPv6 NIDs to a node
  • use lnetctl ping to ping the local and peer NIDs with IPv4 and IPv6 addresses to see all NIDs reported
  • configure and run lnet selftest with the IPv6 NIDs
  • etc.
  • unconfigure IPv6 NIDs from the nodes

I suspect that this can be done without any changes to autotest, since sanity-lnet.sh is unmounting Lustre anyway, and there should already be enough IPv6 infrastructure on master to test at the LNet level.



 Comments   
Comment by Andreas Dilger [ 11/May/23 ]

Chris, since you wrote most of sanity-lnet.sh could you please chime in with suggestions on how this could best be done.

Comment by Gerrit Updater [ 31/Jul/23 ]

"James Simmons <jsimmons@infradead.org>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51818
Subject: LU-16822 test: collect IP setup
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 819957820eae7d884e04d393c65e6391a947bf4d

Comment by James A Simmons [ 16/Oct/23 ]

With my Ubuntu systems I have IPv6 setup so I tried  MGSNID with IPv6 to see how far it would go. Sadly we are using lctl net up which defaults to IPv4. I have to think about a solution.

Comment by Gerrit Updater [ 05/Jan/24 ]

"James Simmons <jsimmons@infradead.org>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53599
Subject: LU-16822 tests: Setup IPv6 with fake network device
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: b3bc7d66a7f25280fb90be7e9b2398a3c867c25a

Comment by James A Simmons [ 05/Jan/24 ]

Not the final patch. Just a step forward to make IPv6 testing possible.

Comment by James A Simmons [ 08/Jan/24 ]

For IPv6 testing with sanity-lnet I created two approaches. One is with patch https://review.whamcloud.com/c/fs/lustre-release/+/53605 which allows setting up an NI using a specific IP. The second is reworking lnet_inet_enumerate() to register IPv6 first if available. Then lctl net up with use IPv6 first if available. Both approaches can work but we should discuss which approach to use.

Comment by Andreas Dilger [ 08/Jan/24 ]

James, I'd assume that this "IPv6 first" choice would be a socklnd module option? Otherwise, if this is a build-time change it would introduce compatibility issues for systems being updated when they would not actually need to use IPv6.

Generated at Sat Feb 10 03:30:18 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.