[NETFILTER]: nf_conntrack: introduce expectation classes and policies
[safe/jmp/linux-2.6] / net / netfilter / nf_conntrack_pptp.c
index b5cb8e8..8fd8347 100644 (file)
@@ -208,7 +208,8 @@ static int exp_gre(struct nf_conn *ct, __be16 callid, __be16 peer_callid)
 
        /* original direction, PNS->PAC */
        dir = IP_CT_DIR_ORIGINAL;
-       nf_ct_expect_init(exp_orig, ct->tuplehash[dir].tuple.src.l3num,
+       nf_ct_expect_init(exp_orig, NF_CT_EXPECT_CLASS_DEFAULT,
+                         ct->tuplehash[dir].tuple.src.l3num,
                          &ct->tuplehash[dir].tuple.src.u3,
                          &ct->tuplehash[dir].tuple.dst.u3,
                          IPPROTO_GRE, &peer_callid, &callid);
@@ -216,7 +217,8 @@ static int exp_gre(struct nf_conn *ct, __be16 callid, __be16 peer_callid)
 
        /* reply direction, PAC->PNS */
        dir = IP_CT_DIR_REPLY;
-       nf_ct_expect_init(exp_reply, ct->tuplehash[dir].tuple.src.l3num,
+       nf_ct_expect_init(exp_reply, NF_CT_EXPECT_CLASS_DEFAULT,
+                         ct->tuplehash[dir].tuple.src.l3num,
                          &ct->tuplehash[dir].tuple.src.u3,
                          &ct->tuplehash[dir].tuple.dst.u3,
                          IPPROTO_GRE, &callid, &peer_callid);
@@ -575,17 +577,21 @@ conntrack_pptp_help(struct sk_buff *skb, unsigned int protoff,
        return ret;
 }
 
+static const struct nf_conntrack_expect_policy pptp_exp_policy = {
+       .max_expected   = 2,
+       .timeout        = 5 * 60,
+};
+
 /* control protocol helper */
 static struct nf_conntrack_helper pptp __read_mostly = {
        .name                   = "pptp",
        .me                     = THIS_MODULE,
-       .max_expected           = 2,
-       .timeout                = 5 * 60,
        .tuple.src.l3num        = AF_INET,
        .tuple.src.u.tcp.port   = __constant_htons(PPTP_CONTROL_PORT),
        .tuple.dst.protonum     = IPPROTO_TCP,
        .help                   = conntrack_pptp_help,
        .destroy                = pptp_destroy_siblings,
+       .expect_policy          = &pptp_exp_policy,
 };
 
 static int __init nf_conntrack_pptp_init(void)