Skip to content

Scope ids get embedded into IPv6 link-local addresses on OpenBSD, NetBSD and macOS #5033

Description

@evverx

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions