I'm not sure whether scapy parses routing messages incorrectly or whether they are borked somehow but until then here is the output I got in https://github.com/evverx/avahi/actions/runs/28585921673/job/84757378878?pr=3 where the following commands were run on OpenBSD:
ifconfig
git clone https://github.com/secdev/scapy
cd scapy
python3 -c 'from scapy.all import *; print(conf.ifaces); print(conf.route); print(conf.route6)'
ifconfig shows for example fe80::5054:ff:fe12:3456 while scapy ends up with fe80:1::5054:ff:fe12:3456.
+ ifconfig
lo0: flags=2008049<UP,LOOPBACK,RUNNING,MULTICAST,LRO> mtu 32768
index 3 priority 0 llprio 3
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
em0: flags=a48843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6,AUTOCONF4> mtu 1500
lladdr 52:54:00:12:34:56
index 1 priority 0 llprio 3
groups: egress
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet6 fe80::5054:ff:fe12:3456%em0 prefixlen 64 scopeid 0x1
inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
inet6 fec0::dd27:a29:7b7b:4029 prefixlen 64 autoconf pltime 14328 vltime 86328
inet6 fec0::5a22:4d10:1d14:7b95 prefixlen 64 autoconf temporary pltime 14328 vltime 86328
enc0: flags=0<>
index 2 priority 0 llprio 3
groups: enc
status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
index 4 priority 0 llprio 3
groups: pflog
Cloning into 'scapy'...
+ cd scapy
+ py=python3
+ [[ openbsd == netbsd ]]
+ python3 -c 'from scapy.all import *; print(conf.ifaces); print(conf.route); print(conf.route6)'
Source Index Name MAC IPv4 IPv6
BPF 1 em0 52:54:00:12:34:56 10.0.2.15 fe80:1::5054:ff:fe12:3456
fec0::dd27:a29:7b7b:4029
fec0::5a22:4d10:1d14:7b95
BPF 3 lo0 00:00:00:00:00:00 127.0.0.1 ::1
fe80:3::1
BPF 4 pflog0 00:00:00:00:00:00
Network Netmask Gateway Iface Output IP Metric
0.0.0.0 0.0.0.0 10.0.2.2 em0 10.0.2.15 1
10.0.2.0 255.255.255.0 10.0.2.15 em0 10.0.2.15 1
10.0.2.15 255.255.255.255 0.0.0.0 em0 10.0.2.15 1
10.0.2.2 255.255.255.255 0.0.0.0 em0 10.0.2.15 1
10.0.2.255 255.255.255.255 10.0.2.15 em0 10.0.2.15 1
10.0.2.3 255.255.255.255 0.0.0.0 em0 10.0.2.15 1
127.0.0.0 255.0.0.0 127.0.0.1 lo0 127.0.0.1 1
127.0.0.1 255.255.255.255 127.0.0.1 lo0 127.0.0.1 1
224.0.0.0 240.0.0.0 127.0.0.1 lo0 127.0.0.1 1
Destination Next Hop Iface Src candidates Metric
fe80:1::2/128 :: em0 fe80:1::5054:ff:fe1_ 1
fe80:1::5054:ff:fe1_ :: em0 fe80:1::5054:ff:fe1_ 1
fec0::5a22:4d10:1d1_ :: em0 fec0::5a22:4d10:1d1_ 1
fec0::dd27:a29:7b7b_ :: em0 fec0::dd27:a29:7b7b_ 1
::/96 ::1 lo0 ::1 1
::1/128 ::1 lo0 ::1 1
::ffff:0.0.0.0/96 ::1 lo0 ::1 1
2002::/24 ::1 lo0 ::1 1
2002:7f00::/24 ::1 lo0 ::1 1
2002:e000::/20 ::1 lo0 ::1 1
2002:ff00::/24 ::1 lo0 ::1 1
fe80::/10 ::1 lo0 ::1 1
fec0::/10 ::1 lo0 ::1 1
ff01::/16 ::1 lo0 ::1 1
ff02::/16 ::1 lo0 ::1 1
::/0 fe80:1::2 em0 fe80:1::5054:ff:fe1_ 1
fe80:1::/64 fe80:1::5054:ff:fe1_ em0 fe80:1::5054:ff:fe1_ 1
ff01:1::/32 fe80:1::5054:ff:fe1_ em0 fe80:1::5054:ff:fe1_ 1
ff02:1::/32 fe80:1::5054:ff:fe1_ em0 fe80:1::5054:ff:fe1_ 1
fe80:3::1/128 fe80:3::1 lo0 fe80:3::1 1
ff01:3::/32 fe80:3::1 lo0 fe80:3::1 1
ff02:3::/32 fe80:3::1 lo0 fe80:3::1 1
fec0::/64 fec0::5a22:4d10:1d1_ em0 fec0::5a22:4d10:1d1_ 1
fec0::/64 fec0::dd27:a29:7b7b_ em0 fec0::dd27:a29:7b7b_ 1
+ exit 0
The images come from https://github.com/cross-platform-actions/action
I'm not sure whether scapy parses routing messages incorrectly or whether they are borked somehow but until then here is the output I got in https://github.com/evverx/avahi/actions/runs/28585921673/job/84757378878?pr=3 where the following commands were run on OpenBSD:
ifconfigshows for examplefe80::5054:ff:fe12:3456whilescapyends up withfe80:1::5054:ff:fe12:3456.The images come from https://github.com/cross-platform-actions/action