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: 2025-04-09 11:32 UTC (History)
4 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.
Comment 7 Rin 2025-04-07 18:47:38 UTC
https://github.com/freebsd/freebsd-src/pull/1646

- while [ `jexec ${jname}b ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do
+ while [ `jexec ${jname} ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do

I passed the test on my local machine with this change.
Comment 8 Zhenlei Huang freebsd_committer freebsd_triage 2025-04-08 02:29:38 UTC
(In reply to Rin from comment #7)
Nice catch!
Comment 9 commit-hook freebsd_committer freebsd_triage 2025-04-09 11:32:02 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=747483038e6fae5cc6db6a7cd01aec467d1b2859

commit 747483038e6fae5cc6db6a7cd01aec467d1b2859
Author:     K Rin <rin@sandb0x.tw>
AuthorDate: 2025-04-07 18:38:45 +0000
Commit:     Kristof Provost <kp@FreeBSD.org>
CommitDate: 2025-04-09 11:30:09 +0000

    netinet6 tests: fix typo in the test

    This caused sys.netinet6.redirect:valid_redirect to fail.

    PR:             247729
    Fixes:  eddfb2e ("Fix IPv6 regression introduced by r362900.")
    Reviewed by:    jlduran, kp
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/1646

 tests/sys/netinet6/redirect.sh | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)