Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git
[linux-2.6-microblaze.git] / include / net / xfrm.h
index 3a219b3..b7e65ae 100644 (file)
@@ -221,9 +221,6 @@ struct xfrm_state {
        struct xfrm_replay_state preplay;
        struct xfrm_replay_state_esn *preplay_esn;
 
-       /* The functions for replay detection. */
-       const struct xfrm_replay *repl;
-
        /* replay detection mode */
        enum xfrm_replay_mode    repl_mode;
        /* internal flag that only holds state for delayed aevent at the
@@ -305,13 +302,6 @@ struct km_event {
        struct net *net;
 };
 
-struct xfrm_replay {
-       int     (*check)(struct xfrm_state *x,
-                        struct sk_buff *skb,
-                        __be32 net_seq);
-       int     (*overflow)(struct xfrm_state *x, struct sk_buff *skb);
-};
-
 struct xfrm_if_cb {
        struct xfrm_if  *(*decode_session)(struct sk_buff *skb,
                                           unsigned short family);
@@ -1025,6 +1015,7 @@ struct xfrm_offload {
 #define CRYPTO_INVALID_PROTOCOL                        128
 
        __u8                    proto;
+       __u8                    inner_ipproto;
 };
 
 struct sec_path {
@@ -1719,7 +1710,9 @@ static inline int xfrm_policy_id2dir(u32 index)
 
 #ifdef CONFIG_XFRM
 void xfrm_replay_advance(struct xfrm_state *x, __be32 net_seq);
+int xfrm_replay_check(struct xfrm_state *x, struct sk_buff *skb, __be32 net_seq);
 void xfrm_replay_notify(struct xfrm_state *x, int event);
+int xfrm_replay_overflow(struct xfrm_state *x, struct sk_buff *skb);
 int xfrm_replay_recheck(struct xfrm_state *x, struct sk_buff *skb, __be32 net_seq);
 
 static inline int xfrm_aevent_is_on(struct net *net)