]> git.hungrycats.org Git - linux/commitdiff
[XFRM_USER]: Add inner family field to all SAs and templates.
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 7 Aug 2003 14:05:00 +0000 (07:05 -0700)
committerStephen Hemminger <shemminger@osdl.org>
Thu, 7 Aug 2003 14:05:00 +0000 (07:05 -0700)
include/linux/xfrm.h
net/xfrm/xfrm_user.c

index a4dd169d9f6fe4a4854a041a42474dceda8146c5..430370b12d139c32048daf7274ca79ee36cdb8ea 100644 (file)
@@ -37,6 +37,7 @@ struct xfrm_selector
        __u16   dport_mask;
        __u16   sport;
        __u16   sport_mask;
+       __u16   family;
        __u8    prefixlen_d;
        __u8    prefixlen_s;
        __u8    proto;
@@ -125,6 +126,7 @@ enum
 
 struct xfrm_user_tmpl {
        struct xfrm_id          id;
+       __u16                   family;
        xfrm_address_t          saddr;
        __u32                   reqid;
        __u8                    mode;
@@ -189,7 +191,6 @@ struct xfrm_userpolicy_info {
        struct xfrm_lifetime_cur        curlft;
        __u32                           priority;
        __u32                           index;
-       __u16                           family;
        __u8                            dir;
        __u8                            action;
 #define XFRM_POLICY_ALLOW      0
index b1c87c9924f20948ba1efd3404219ab2091d8b0b..049c7c833d955b534dc2b6e43ba81a2b2d02f47a 100644 (file)
@@ -527,7 +527,7 @@ static int verify_newpolicy_info(struct xfrm_userpolicy_info *p)
                return -EINVAL;
        };
 
-       switch (p->family) {
+       switch (p->sel.family) {
        case AF_INET:
                break;
 
@@ -594,7 +594,7 @@ static void copy_from_user_policy(struct xfrm_policy *xp, struct xfrm_userpolicy
        memcpy(&xp->lft, &p->lft, sizeof(xp->lft));
        xp->action = p->action;
        xp->flags = p->flags;
-       xp->family = p->family;
+       xp->family = p->sel.family;
        /* XXX xp->share = p->share; */
 }
 
@@ -605,7 +605,7 @@ static void copy_to_user_policy(struct xfrm_policy *xp, struct xfrm_userpolicy_i
        memcpy(&p->curlft, &xp->curlft, sizeof(p->curlft));
        p->priority = xp->priority;
        p->index = xp->index;
-       p->family = xp->family;
+       p->sel.family = xp->family;
        p->dir = dir;
        p->action = xp->action;
        p->flags = xp->flags;