a4fc1bfc42
Install the callbacks via the state machine. Use multi state support to avoid custom list handling for the multiple instances. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Steffen Klassert <steffen.klassert@secunet.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: netdev@vger.kernel.org Cc: rt@linutronix.de Cc: "David S. Miller" <davem@davemloft.net> Link: http://lkml.kernel.org/r/20161103145021.28528-10-bigeasy@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
26 lines
546 B
C
26 lines
546 B
C
#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;
|
|
int hash_count;
|
|
u32 hash_rnd;
|
|
int hash_rnd_recalc;
|
|
struct tasklet_struct flush_tasklet;
|
|
};
|
|
|
|
struct flow_cache {
|
|
u32 hash_shift;
|
|
struct flow_cache_percpu __percpu *percpu;
|
|
struct hlist_node node;
|
|
int low_watermark;
|
|
int high_watermark;
|
|
struct timer_list rnd_timer;
|
|
};
|
|
#endif /* _NET_FLOWCACHE_H */
|