Page MenuHomeFreeBSD

Fix hostname to be returned in an ICMPv6 NI Reply message

Authored by hrs on May 9 2019, 12:19 AM.



Fix hostname to be returned in an ICMPv6 NI Reply message defined in RFC 4620, ICMPv6 Node Information Queries. A vnet jail with an IPv6 address sent a hostname of the host environment, not the jail, even if another hostname was set to the jail.

This patch looks for a struct prison for the jail from the allprison list every time when an NI Query message arrives on an interface by using the ifp->if_vnet. Any suggestions of a more efficient way are welcome.

Note that this patch includes a change to narrow a pr->pr_mtx lock. It is not related to the fix above while there is no functionality change.

Test Plan

host# ifconfig epair0 create
host# jail -c -n j1 vnet host.hostname=vnetjail path=/ persist
host# ifconfig epair0b vnet j1
host# ifconfig epair0a inet6 -ifdisabled auto_linklocal up
host# jexec j1 ifconfig epair0b inet6 -ifdisabled auto_linklocal up
host# ping6 -w ff02::1%epair0a

Diff Detail

rS FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

hrs created this revision.May 9 2019, 12:19 AM
This revision was not accepted when it landed; it landed in state Needs Review.May 16 2019, 7:09 PM
This revision was automatically updated to reflect the committed changes.