Bug 247729 - sys.netinet6.redirect.valid_redirect fails after r362900
Summary: sys.netinet6.redirect.valid_redirect fails after r362900
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: tests (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-testing (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-03 01:58 UTC by Li-Wen Hsu
Modified: 2020-07-03 20:46 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 commit-hook freebsd_committer freebsd_triage 2020-07-03 02:03:13 UTC
A commit references this bug:

Author: lwhsu
Date: Fri Jul  3 02:02:35 UTC 2020
New revision: 362904
URL: https://svnweb.freebsd.org/changeset/base/362904

Log:
  Temporarily skip sys.netinet6.redirect.valid_redirect in CI

  PR:		247729
  Sponsored by:	The FreeBSD Foundation

Changes:
  head/tests/sys/netinet6/redirect.sh
Comment 2 Neel Chauhan freebsd_committer freebsd_triage 2020-07-03 03:36:15 UTC
Test results as follows:

root@omen:/usr/tests/sys/netinet6 # kyua debug redirect:valid_redirect
add net 2001:db8:6667::/64: gateway fe80::4242%epair0b
Executing command [ /usr/tests/sys/netinet6/redirect.py --smac 00:00:5E:00:53:42 --dmac 02:50:1a:8c:58:0b --sip fe80::4242 --dip fe80::50:1aff:fe8c:580b --route 2001:db8:6667::4242 --gw fe80::5555 --iface epair0a ]
Executing command [ jexec v6t-fffd--77c route -n get -6 2001:db8:6667::4242 ]
Fail: regexp destination: 2001:db8:6667::4242$ not in stdout
   route to: 2001:db8:6667::4242
destination: 2001:db8:6667::
       mask: ffff:ffff:ffff:ffff::
    gateway: fe80::4242%epair0b
        fib: 0
  interface: epair0b
      flags: <UP,GATEWAY,DONE,STATIC>
 recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
       0         0         0         0      1500         1         0 
Files left in work directory after failure: created_interfaces.lst, created_jails.lst
ifconfig: interface epair0b does not exist
redirect:valid_redirect  ->  failed: atf-check failed; see the output of the test for details
root@omen:/usr/tests/sys/netinet6 #
Comment 3 Neel Chauhan freebsd_committer freebsd_triage 2020-07-03 03:37:43 UTC
These lines are interesting:

Fail: regexp destination: 2001:db8:6667::4242$ not in stdout
   route to: 2001:db8:6667::4242
destination: 2001:db8:6667::

The destination shows the route in general as opposed to the host itself
Comment 4 commit-hook freebsd_committer freebsd_triage 2020-07-03 08:06:53 UTC
A commit references this bug:

Author: melifaro
Date: Fri Jul  3 08:06:26 UTC 2020
New revision: 362909
URL: https://svnweb.freebsd.org/changeset/base/362909

Log:
  Fix IPv6 regression introduced by r362900.

  PR:		kern/247729

Changes:
  head/sys/netinet6/icmp6.c
  head/tests/sys/netinet6/redirect.sh
Comment 5 Li-Wen Hsu freebsd_committer freebsd_triage 2020-07-03 10:28:13 UTC
I found this test case might be flakey, it still fails after several runs:

root@:/usr/tests/sys/netinet6 # uname -a
FreeBSD  13.0-CURRENT FreeBSD 13.0-CURRENT #0 r362909: Fri Jul  3 09:16:16 UTC 2020     root@FreeBSD-head-amd64-build.jail.ci.FreeBSD.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64

root@:/usr/tests/sys/netinet6 # kyua debug redirect:valid_redirect
epair0a: Ethernet address: 02:05:6a:39:68:0a
epair0b: Ethernet address: 02:05:6a:39:68:0b
epair0a: link state changed to UP
epair0b: link state changed to UP
epair0a: promiscuous mode enabled
epair0a: promiscuous mode disabled
ip6_input: packet to an unready address fe80:3::4242->fe80:3::5:6aff:fe39:680b
epair0b: DAD complete for fe80:3::5:6aff:fe39:680b - no duplicates found
in6_unlink_ifa: autoconf'ed address fe80:3::5:6aff:fe39:680b has no prefix
epair0a: link state changed to DOWN
epair0b: link state changed to DOWN
add net 2001:db8:6667::/64: gateway fe80::4242%epair0b fib 0
net.inet6.icmp6.nd6_debug: 0 -> 1
Executing command [ /usr/tests/sys/netinet6/redirect.py --smac 00:00:5E:00:53:42 --dmac 02:05:6a:39:68:0b --sip fe80::4242 --dip fe80::5:6aff:fe39:680b --route 2001:db8:6667::4242 --gw fe80::5555 --iface epair0a ]
Executing command [ jexec v6t-fffd--1ff3 route -n get -6 2001:db8:6667::4242 ]
jexec: jail "v6t-fffd--1ff3b" not found
Fail: regexp destination: 2001:db8:6667::4242$ not in stdout
   route to: 2001:db8:6667::4242
destination: 2001:db8:6667::
       mask: ffff:ffff:ffff:ffff::
    gateway: fe80::4242%epair0b
        fib: 0
  interface: epair0b
      flags: <UP,GATEWAY,DONE,STATIC>
 recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
       0         0         0         0      1500         1         0 
Files left in work directory after failure: created_interfaces.lst, created_jails.lst
ifconfig: interface epair0b does not exist
redirect:valid_redirect  ->  failed: atf-check failed; see the output of the test for details
Comment 6 Alexander V. Chernikov freebsd_committer freebsd_triage 2020-07-03 20:46:50 UTC
Hm, that's interesting: jexec: jail "v6t-fffd--1ff3b" not found.
Let me try to update the test to use 2 jails with constant names.