Solved "Protocol Family 28" appended to netstat -rn output

What causes this "Protocol Family 28" on netstat -rn?

Code:
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            xxx.xxx.xxx.xxx    UGS         em0
127.0.0.1          link#2             UH          lo0
xxx.xxx.xxx.0/25   link#1             U           em0
xxx.xxx.xxx.xxx    link#1             UHS         lo0


Protocol Family 28:
Destination        Gateway            Flags     Netif Expire
(28) 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 link#2 UH          lo0
(28) 0000 0000 0000 fe80 0000 0000 0000 0000 0000 0000 0000 0100 0000 link#1 U           em0
(28) 0000 0000 0000 fe80 0000 0000 0000 e269 95ff fe70 62c3 0100 0000 link#1 UHS         lo0
(28) 0000 0000 0000 fe80 0000 0000 0000 0000 0000 0000 0000 0200 0000 link#2 U           lo0
(28) 0000 0000 0000 fe80 0000 0000 0000 0000 0000 0000 0001 0200 0000 link#2 UHS         lo0

I don't even have a cue what "Protocol Family 28" is.
 
Looks like some strange display of IPv6.

/usr/include/sys/socket.h confirms this (and I don't know who defines these numbers, as they are different from those in /etc/protocols);
#define AF_INET6 28 /* IPv6 */
 
The problem is most probably related to a GENERIC kernel built WITHOUT_INET6. I replaced that with a custom kernel and "Protocol Family 28" does not appear anymore.

I'd appreciate if anyone could explain what "Protocol Family 28" actually is?

Searching the Internet I found hits on "Protocol Families 26..30" but no definitions of what that is.
 
The problem is most probably related to a GENERIC kernel built WITHOUT_INET6.

That's about what I thought: it somehow got only half implemented.

I'd appreciate if anyone could explain what "Protocol Family 28" actually is?

Searching the Internet I found hits on "Protocol Families 26..30" but no definitions of what that is.

Well, I'd say it just is IPv6 when considered a protocol stack (aka "protocol family") instead of a mere packet type.
This is more about grouping concepts into proper names. When looking at the network packet, we just have a sequence of octets, which make up various fields with different meanings. But when programming a socket to handle them, then these fields will concern different pieces of software, and here the OSI layers come into play, because you need to structure that stuff in a way that can be handled somehow.
 
Back
Top