NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/48166: struct in_pktinfo incompatible with all other systems
>Number: 48166
>Category: kern
>Synopsis: struct in_pktinfo incompatible with all other systems
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Aug 31 09:10:00 +0000 2013
>Originator: John Nemeth
>Release: various 6.99.XX
>Organization:
NetBSD
>Environment:
>Description:
Recently support for IP_PKTINFO was added to NetBSD 6.99.XX.
It is associated with struct in_pktinfo which looks like:
struct in_pktinfo {
struct in_addr ipi_addr; /* src/dst address */
unsigned int ipi_ifindex; /* interface index */
};
On all other systems that I've checked (Illumos, Linux, and MacOSX) {none
of the other BSDs have it} the struct is defined like:
typedef struct in_pktinfo {
unsigned int ipi_ifindex; /* send/recv interface index */
struct in_addr ipi_spec_dst; /* matched source address */
struct in_addr ipi_addr; /* src/dst address in IP hdr */
} in_pktinfo_t;
The exact order of the elements varies, but they all exist.
This is causing problems with numerous third party packages
(at least four known). This would appear to be a gratuitous
incompatibility with an established interface. This should really
be fixed before NetBSD 7 is branched.
>How-To-Repeat:
Attempt to compile various third party packages including,
but not necessarily limited to, asterisk (any variation), mit-krb5,
mrt, and xorp. To see the issue, you will need to remove the work
around for this problem.
>Fix:
Home |
Main Index |
Thread Index |
Old Index