tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Please RUMPify tests in sbin/ifconfig



On 18/07/2020 10:09, Jukka Ruohonen wrote:
On Sat, Jul 18, 2020 at 05:53:04PM +0900, Rin Okuyama wrote:
Recently, tests have been added to tests/sbin/ifconfig, that modify
configuration of *real* interfaces on host.

For example, t_repeated_updown literally does up and down *all*
network interfaces on host repeatedly.

This is not what I expect to tests. I think that they should be
converted to RUMP, and moved into tests/net/if, since:

(1) Tests should not do harm to host. Consider if tests for route(8)
modify the routing table of host. Is this acceptable?

(2) They are not tests for ifconfig(8), but for network interfaces.

(3) Our test-runs on some ports, at least evbarm-earmv7hf, hang in
tests/sbin/ifconfig. This is one of our biggest concerns for netbsd-10.

IMO, all tests with idiom ``for i in $(ifconfig -l); do'' should be
done against shmif(4) instead of real interfaces.

I respectfully disagree. Arguments:

	A. As far as I know, (1) is not an issue.

You cannot possibly know that.

	B. It is important to have tests for "real hardware" / device
	   drivers. It is likely that shmif(4) cannot reproduce many of the
	   PRs behind these tests.

Now this is a good idea!
But it should be off by default.
IF you up/down a wifi card for example it will force a reassocation which *could* be to a different SSID.

Changing the MTU of an interface *may* cause link status to reset. Some might say this is a driver bug, but I'm pretty sure this is also a hardware bug for some e1000 interfaces. You really don't want to be doing that on a live system. We know it will break, but the user running the tests remotely might not and it will really annoy them.

These are just examples off the top of my head.
I'm sure there are other hardware niggles that are not currently worked around.
So, please, let's turn this off by default and make any changes to the host opt in.

Roy


Home | Main Index | Thread Index | Old Index