> I am sending the updated spec with respect to Gary's issue.
I'm still confused on how changing the size of structures
is mitigated in a patch release. What am I misunderstanding?
Further I don't see any expression of the interface stability
in the updated spec. Did I miss that also?
Gary..
> > I'm not sure what "External Stable" is, so I'll take it as the
> > former Stable which is the current Committed. And I'll ask again:
> > "How is the incompatible change mitagated for the requested Patch
> > release binding?"
> ioctls
> ------
> For ioctl SIOCGNATL, the structure "natlookup_t" has been changed to be able
> to
> contain IPv6 addresses. A new member "nl_v" is added to specify whether it is
> looking for an IPv4 or an IPv6 NAT session. For compatibilities, IPv4 NAT
> session
> lookup doesn't need to assign "nl_v". See ipnat(7i).
>
> For ioctl SIOCSTPUT, A new member "nat_v" is added to the structure "nat_t" to
> specify whether it is inserting an IPv4 or an IPv6 NAT session. For
> compatibilities,
> inserting an IPv4 NAT session doesn't need to assign "nat_v". See ipnat(7i).
> @@ -67,9
> * Structure used with SIOCGNATL.
> */
> typedef struct natlookup {
> - struct in-addr nl_inip;
> - struct in_addr nl_outip;
> - struct in_addr nl_realip;
> + i6addr_t nl_inipaddr;
> + i6addr_t nl_outipaddr;
> + i6addr_t nl_realipaddr;
> + int nl_v;
> int nl_flags;
> u_short nl_inport;
> u_short nl_outport;
> @@ -76,6 +77,13 @@
> u_short nl_realport;
> } natlookup_t
>
> +#define nl_inip nl_inipaddr.in4
> +#define nl_outip nl_outipaddr.in4
> +#define nl_realip nl_realipaddr.in4
> +#define nl_inip6 nl_inipaddr.in6
> +#define nl_outip6 nl_outipaddr.in6
> +#define nl_realip6 nl_realipaddr.in6
> +
> /*
> * Accepted values for nl_flags
> */
> @@ -169,6 +177,7 @@
> int nat_hv[2];
> char nat_ifnames[2][LIFNAMSIZ];
> int nat_rev;
> + int nat_v;
> } nat_t;
>
> #define nat_inip nat_inip6.in4