act_api.c (62e3ba1b558e5f393ef746880613fb8222e64d03) act_api.c (1e90474c377e92db7262a8968a45c1dd980ca9e5)
1/*
2 * net/sched/act_api.c Packet action API.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version
7 * 2 of the License, or (at your option) any later version.
8 *

--- 213 unchanged lines hidden (view full) ---

222 p->tcfc_bindcnt = 1;
223
224 spin_lock_init(&p->tcfc_lock);
225 p->tcfc_index = index ? index : tcf_hash_new_index(idx_gen, hinfo);
226 p->tcfc_tm.install = jiffies;
227 p->tcfc_tm.lastuse = jiffies;
228 if (est)
229 gen_new_estimator(&p->tcfc_bstats, &p->tcfc_rate_est,
1/*
2 * net/sched/act_api.c Packet action API.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version
7 * 2 of the License, or (at your option) any later version.
8 *

--- 213 unchanged lines hidden (view full) ---

222 p->tcfc_bindcnt = 1;
223
224 spin_lock_init(&p->tcfc_lock);
225 p->tcfc_index = index ? index : tcf_hash_new_index(idx_gen, hinfo);
226 p->tcfc_tm.install = jiffies;
227 p->tcfc_tm.lastuse = jiffies;
228 if (est)
229 gen_new_estimator(&p->tcfc_bstats, &p->tcfc_rate_est,
230 &p->tcfc_lock, est);
230 &p->tcfc_lock, (struct nlattr *)est);
231 a->priv = (void *) p;
232 return p;
233}
234EXPORT_SYMBOL(tcf_hash_create);
235
236void tcf_hash_insert(struct tcf_common *p, struct tcf_hashinfo *hinfo)
237{
238 unsigned int h = tcf_hash(p->tcfc_index, hinfo->hmask);

--- 845 unchanged lines hidden ---
231 a->priv = (void *) p;
232 return p;
233}
234EXPORT_SYMBOL(tcf_hash_create);
235
236void tcf_hash_insert(struct tcf_common *p, struct tcf_hashinfo *hinfo)
237{
238 unsigned int h = tcf_hash(p->tcfc_index, hinfo->hmask);

--- 845 unchanged lines hidden ---