X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=include%2Fnet%2Fxfrm.h;h=b7e65aec4b2d69ee6483e6e45f1727cbbbe5d124;hb=1b077ce1c5be7cdb0e40ea2c2565ed8c878b05e9;hp=3a219b34cb8c124f05d06e83e79b0665751464ab;hpb=25cfb8bc97c2b8447f86b1ad376ee672b6b173d4;p=linux-2.6-microblaze.git diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 3a219b34cb8c..b7e65aec4b2d 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -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)