> 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

Reply via email to