]> git.neil.brown.name Git - history.git/commitdiff
[IPSEC]: Add SPD priority for PF_KEY interface.
authorBrian Buesker <bbuesker@qualcomm.com>
Mon, 19 Apr 2004 04:42:50 +0000 (21:42 -0700)
committerDavid S. Miller <davem@hera.kernel.org>
Mon, 19 Apr 2004 04:42:50 +0000 (21:42 -0700)
include/linux/pfkeyv2.h
net/key/af_key.c

index 81807d58bb3e65bddba1825d4f13f731aa7eba19..a48a3ecc7c216dc41ccaa48c0288f79285ecc1dc 100644 (file)
@@ -181,7 +181,7 @@ struct sadb_x_policy {
        uint8_t         sadb_x_policy_dir;
        uint8_t         sadb_x_policy_reserved;
        uint32_t        sadb_x_policy_id;
-       uint32_t        sadb_x_policy_reserved2;
+       uint32_t        sadb_x_policy_priority;
 } __attribute__((packed));
 /* sizeof(struct sadb_x_policy) == 16 */
 
index 6ce0dc19f332d5d25589e443c68138849c9cc1f4..6f360a61025041e10c1cad58d4dee6c354d91dcc 100644 (file)
@@ -1780,6 +1780,7 @@ static void pfkey_xfrm_policy2msg(struct sk_buff *skb, struct xfrm_policy *xp, i
        }
        pol->sadb_x_policy_dir = dir+1;
        pol->sadb_x_policy_id = xp->index;
+       pol->sadb_x_policy_priority = xp->priority;
 
        for (i=0; i<xp->xfrm_nr; i++) {
                struct sadb_x_ipsecrequest *rq;
@@ -1872,6 +1873,7 @@ static int pfkey_spdadd(struct sock *sk, struct sk_buff *skb, struct sadb_msg *h
 
        xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ?
                      XFRM_POLICY_BLOCK : XFRM_POLICY_ALLOW);
+       xp->priority = pol->sadb_x_policy_priority;
 
        sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1], 
        xp->family = pfkey_sadb_addr2xfrm_addr(sa, &xp->selector.saddr);