[Bug 259374] [Linux Compatibility Layer] : getifaddrs() : errno = EAFNOSUPPORT
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 259374] [Linux Compatibility Layer] : getifaddrs() : errno = EAFNOSUPPORT"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 259374] Linux(4) getifaddrs() results in Address family not supported by protocol getifaddrs() (EAFNOSUPPORT)"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 259374] Linux(4) getifaddrs() results in Address family not supported by protocol getifaddrs() (EAFNOSUPPORT)"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 259374] Linux(4) getifaddrs() results in Address family not supported by protocol getifaddrs() (EAFNOSUPPORT)"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 259374] Linux(4) getifaddrs() results in Address family not supported by protocol getifaddrs() (EAFNOSUPPORT)"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 259374] Linux(4) getifaddrs() results in Address family not supported by protocol getifaddrs() (EAFNOSUPPORT)"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 259374] Linux(4) getifaddrs() results in Address family not supported by protocol getifaddrs() (EAFNOSUPPORT)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 23 Oct 2021 10:27:05 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259374
Bug ID: 259374
Summary: [Linux Compatibility Layer] : getifaddrs() : errno =
EAFNOSUPPORT
Product: Base System
Version: 13.0-RELEASE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: kern
Assignee: bugs@FreeBSD.org
Reporter: didu31@hotmail.fr
Hi,
interface with gnu/linux getifaddrs() is no perfect.
This concerns at least interface with debian wheezy, buster and bulleyes
kernels.
freebsd-13% ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
ether 84:2b:2b:ae:6a:85
inet 192.168.0.45 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet 127.0.0.1 netmask 0xff000000
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
And consider this snippet, if.c:
#include <errno.h>
#include <stdio.h>
#include <ifaddrs.h>
int main(int argc, char** argv)
{
struct ifaddrs *addrs, *ent;
if (getifaddrs(&addrs))
{
printf("errno = %d\n", errno);
perror("getifaddrs()");
return 1;
}
int count = 0;
/* Count the number of interfaces */
for (ent = addrs; ent; ent = ent->ifa_next)
{
count++;
}
freeifaddrs(addrs);
}
freebsd-13% cc if.c -o if
freebsd-13% ./if
"bge0" af_family = 18 (= AF_LINK /* Link layer interface */)
"bge0" af_family = 2 (= AF_INET)
"lo0" af_family = 18
"lo0" af_family = 2
freebsd-13% sudo chroot compat/debian /bin/bash
debian% cc if.c -o if
debian% ./if
errno = 97 (EAFNOSUPPORT)
getifaddrs(): Address family not supported by protocol
Could it be a compatibility bug with AF_LINK ?
--
You are receiving this mail because:
You are the assignee for the bug.