Just some additional details I found when looking at the debug output
versus the code blocks.
I don't yet know how the code for facter in networking_resolver.cc
(networking_resolver::read_routing_table() and
networking_resolver::populate_from_routing_table) need to be modified. What
I do see is that the call networking_resolver::associate_src_with_iface
seems to be the likely culprit.
It doesn't seem to be checking for differences in the routing for IPv6 or
IPv4. This is seen in the output for HOST A. The HOST B shows it correctly
as that host has IPv6 enabled.
While the code could get way past my rudimentary C/C++ (it has been 20+
years since I wrote in C), how hard would it be to do a check against
sysctl to see if IPv6 is even enabled? Running *sysctl -a | grep ipv6* on
all of the hosts, which are having an issue showing IPv4 addresses as IPv6,
gives back no values as in these cases IPv6 is disabled in the kernel.
As I don't have any IPv6 only machines I can't test the converse. This
seems like it could be easy enough to call the sysctl check before doing
the call in networking_resolver::read_routing_table() before
lth_exe::each_line(ip_command, {"-6","route","show"}... and then doing an
if to test for return of 0 bytes or something similar.
I don't know what this will do further down the line if there is no IPv6
data for an interface. I/e null where the code wants data.
Does this sound like I'm even on the right track?
HOST A
2017-10-09 15:29:05.473574 DEBUG leatherman.execution:92 - executing
command: /sbin/ip route show
2017-10-09 15:29:05.474408 DEBUG | - default via 10.118.108.1 dev eth0
2017-10-09 15:29:05.474553 DEBUG | - 10.118.108.0/24 dev eth0 proto
kernel scope link src 10.118.108.38
2017-10-09 15:29:05.474622 DEBUG | - 127.0.0.0/8 dev lo scope link
2017-10-09 15:29:05.474681 DEBUG | - 169.254.0.0/16 dev eth0 scope link
2017-10-09 15:29:05.474817 DEBUG leatherman.execution:556 - process exited
with status code 0.
2017-10-09 15:29:05.474876 DEBUG leatherman.execution:92 - executing
command: /sbin/ip -6 route show
2017-10-09 15:29:05.475665 DEBUG | - default via 10.118.108.1 dev eth0
2017-10-09 15:29:05.475787 DEBUG | - 10.118.108.0/24 dev eth0 proto
kernel scope link src 10.118.108.38
2017-10-09 15:29:05.475855 DEBUG | - 127.0.0.0/8 dev lo scope link
2017-10-09 15:29:05.475913 DEBUG | - 169.254.0.0/16 dev eth0 scope link
2017-10-09 15:29:05.476047 DEBUG leatherman.execution:556 - process exited
with status code 0.
HOST B
2017-10-09 15:36:32.331306 DEBUG leatherman.execution:92 - executing
command: /sbin/ip route show
2017-10-09 15:36:32.332170 DEBUG | - default via 10.118.108.1 dev
eno16777984 proto static metric 100
2017-10-09 15:36:32.332269 DEBUG | - 10.118.108.0/24 dev eno16777984 proto
kernel scope link src 10.118.108.26 metric 100
2017-10-09 15:36:32.332352 DEBUG leatherman.execution:556 - process exited
with status code 0.
2017-10-09 15:36:32.332411 DEBUG leatherman.execution:92 - executing
command: /sbin/ip -6 route show
2017-10-09 15:36:32.333430 DEBUG | - unreachable ::/96 dev lo metric 1024
error -113
2017-10-09 15:36:32.333511 DEBUG | - unreachable ::ffff:0.0.0.0/96 dev lo
metric 1024 error -113
2017-10-09 15:36:32.333588 DEBUG | - unreachable 2002:a00::/24 dev lo
metric 1024 error -113
2017-10-09 15:36:32.333657 DEBUG | - unreachable 2002:7f00::/24 dev lo
metric 1024 error -113
2017-10-09 15:36:32.333727 DEBUG | - unreachable 2002:a9fe::/32 dev lo
metric 1024 error -113
2017-10-09 15:36:32.333800 DEBUG | - unreachable 2002:ac10::/28 dev lo
metric 1024 error -113
2017-10-09 15:36:32.333868 DEBUG | - unreachable 2002:c0a8::/32 dev lo
metric 1024 error -113
2017-10-09 15:36:32.333935 DEBUG | - unreachable 2002:e000::/19 dev lo
metric 1024 error -113
2017-10-09 15:36:32.334000 DEBUG | - unreachable 3ffe:ffff::/32 dev lo
metric 1024 error -113
2017-10-09 15:36:32.334069 DEBUG | - fe80::/64 dev eno16777984 proto kernel
metric 256
2017-10-09 15:36:32.334208 DEBUG leatherman.execution:556 - process exited
with status code 0.
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-dev/4de61cc5-d652-46d0-9c95-2f31271e7160%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.