Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jul 2021 20:55:37 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 257286] gateway with `ping -6 -e` is ignored
Message-ID:  <bug-257286-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257286

            Bug ID: 257286
           Summary: gateway with `ping -6 -e` is ignored
           Product: Base System
           Version: 13.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: jcaplan@blackberry.com

Created attachment 226555
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D226555&action=
=3Dedit
proposed patch

Overview
--------

Specifying a gateway with `ping -6 -e` is ignored.


Steps to Reproduce
------------------
Two devices D1 and D2

D1:
ifconfig vmx0 inet6 3ffe::1
ifconfig vmx1 inet6 2001::1

D2:
ifconfig vmx0 inet6 3ffe::2
ifconfig vmx1 inet6 2001::2

Then on D1:
ping -6 -e 3ffe::2 -c3 2001::2


Actual Results:
---------------

The icmp6 message goes out from D1 on vmx1

Expected Results
----------------

The icmp6 message goes out from D1 on vmx0


Build Date & Hardware
---------------------

FreeBSD freebsd 13.0-RELEASE FreeBSD 13.0-RELEASE #6
releng/13.0-n244733-ea31abc261f: Sat Jun 19 06:23:53 UTC 2021

Additional Information
----------------------

See attached patch.

Control flow has changed quite a bit in ip6_output() since 12.2.

In this scenario, we have ro =3D=3D NULL and hit the else block to determin=
e the
outgoing interface based on the destination ip. When ping6 uses the
IPV6_NEXTHOP option, then opt->ip6po_nextroute.ro_nh is defined. However, w=
hen
we hit the old check later on, nh =3D=3D NULL so it is ignored and we never=
 get a
chance to check for a hard coded next hop.


Instead, when ro =3D=3D NULL, need to check the option and hard code the
destination prior to calling fib6_lookup() which will assign the interface.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-257286-227>