2014-01-18 09:55:27 +08:00
|
|
|
#ifndef _NET_FLOWCACHE_H
|
|
|
|
#define _NET_FLOWCACHE_H
|
|
|
|
|
|
|
|
#include <linux/interrupt.h>
|
|
|
|
#include <linux/types.h>
|
|
|
|
#include <linux/timer.h>
|
|
|
|
#include <linux/notifier.h>
|
|
|
|
|
|
|
|
struct flow_cache_percpu {
|
|
|
|
struct hlist_head *hash_table;
|
2017-04-03 05:53:15 +08:00
|
|
|
unsigned int hash_count;
|
2014-01-18 09:55:27 +08:00
|
|
|
u32 hash_rnd;
|
|
|
|
int hash_rnd_recalc;
|
|
|
|
struct tasklet_struct flush_tasklet;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct flow_cache {
|
|
|
|
u32 hash_shift;
|
|
|
|
struct flow_cache_percpu __percpu *percpu;
|
2016-11-03 22:50:05 +08:00
|
|
|
struct hlist_node node;
|
2017-04-03 05:53:15 +08:00
|
|
|
unsigned int low_watermark;
|
|
|
|
unsigned int high_watermark;
|
2014-01-18 09:55:27 +08:00
|
|
|
struct timer_list rnd_timer;
|
|
|
|
};
|
|
|
|
#endif /* _NET_FLOWCACHE_H */
|