NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/48166: struct in_pktinfo incompatible with all other systems



The following reply was made to PR kern/48166; it has been noted by GNATS.

From: christos%zoulas.com@localhost (Christos Zoulas)
To: gnats-bugs%NetBSD.org@localhost, kern-bug-people%netbsd.org@localhost, 
        gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/48166: struct in_pktinfo incompatible with all other systems
Date: Sat, 31 Aug 2013 05:28:05 -0400

 On Aug 31,  9:10am, jnemeth%CornerstoneService.ca@localhost 
(jnemeth%CornerstoneService.ca@localhost) wrote:
 -- Subject: kern/48166: struct in_pktinfo incompatible with all other systems
 
 | 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;
 | 
 
 And some don't have it:
 
 Windows:
 http://msdn.microsoft.com/en-us/library/windows/desktop/ms738572(v=vs.85).aspx
 AIX:
 
https://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/topic/com.ibm.iea.zos/zos/1.13/Application-Middleware-Workload_Enablement/zOS_V1R13_zOS_UNIX_IPV4-pktinfo-Support.pdf?dmuid=20110825162439438278
 Cygwin:
 http://cygwin.com/ml/cygwin/2009-09/msg00150.html
 
 We could provide it, but it does not seem necessary or symmetric to the
 IPV6 interface:
 
 /*                   
  * IPV6_PKTINFO: Packet information(RFC2292 sec 5)
  */
 struct in6_pktinfo {            
         struct in6_addr ipi6_addr;      /* src/dst IPv6 address */
         unsigned int    ipi6_ifindex;   /* send/recv interface index */
 };
 
 christos
 


Home | Main Index | Thread Index | Old Index