summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.ninka.net>2003-05-15 07:05:28 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2003-05-15 07:05:28 -0700
commitf958137c56133dbe9da9f37862169740d0f538ee (patch)
treeef23a3eba50505bfb333d98789e7d3773354f778 /include
parenta7b43a568bac5ac97a89f2efecef3526f2fd0be3 (diff)
[NET]: Split out policy flow cache to be a generic facility.
Diffstat (limited to 'include')
-rw-r--r--include/net/flow.h12
-rw-r--r--include/net/xfrm.h1
2 files changed, 12 insertions, 1 deletions
diff --git a/include/net/flow.h b/include/net/flow.h
index c764d9d159d9..f09d5763ecae 100644
--- a/include/net/flow.h
+++ b/include/net/flow.h
@@ -75,4 +75,16 @@ struct flowi {
#define fl_icmp_code uli_u.icmpt.code
#define fl_ipsec_spi uli_u.spi
};
+
+#define FLOW_DIR_IN 0
+#define FLOW_DIR_OUT 1
+#define FLOW_DIR_FWD 2
+
+typedef void (*flow_resolve_t)(struct flowi *key, u16 family, u8 dir,
+ void **objp, atomic_t **obj_refp);
+
+extern void *flow_cache_lookup(struct flowi *key, u16 family, u8 dir,
+ flow_resolve_t resolver);
+extern atomic_t flow_cache_genid;
+
#endif
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index f11387b308af..4278f9490551 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -788,7 +788,6 @@ void xfrm4_policy_init(void);
void xfrm6_policy_init(void);
struct xfrm_policy *xfrm_policy_alloc(int gfp);
extern int xfrm_policy_walk(int (*func)(struct xfrm_policy *, int, int, void*), void *);
-struct xfrm_policy *xfrm_policy_lookup(int dir, struct flowi *fl, unsigned short family);
int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl);
struct xfrm_policy *xfrm_policy_delete(int dir, struct xfrm_selector *sel);
struct xfrm_policy *xfrm_policy_byid(int dir, u32 id, int delete);