mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git
/klassert/ipsec-next Steffen Klassert says: ==================== pull request (net-next): ipsec-next 2021-06-28 1) Remove an unneeded error assignment in esp4_gro_receive(). From Yang Li. 2) Add a new byseq state hashtable to find acquire states faster. From Sabrina Dubroca. 3) Remove some unnecessary variables in pfkey_create(). From zuoqilin. 4) Remove the unused description from xfrm_type struct. From Florian Westphal. 5) Fix a spelling mistake in the comment of xfrm_state_ok(). From gushengxian. 6) Replace hdr_off indirections by a small helper function. From Florian Westphal. 7) Remove xfrm4_output_finish and xfrm6_output_finish declarations, they are not used anymore.From Antony Antony. 8) Remove xfrm replay indirections. From Florian Westphal. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
1b077ce1c5
21 changed files with 264 additions and 234 deletions
|
@ -145,6 +145,12 @@ enum {
|
|||
XFRM_MODE_FLAG_TUNNEL = 1,
|
||||
};
|
||||
|
||||
enum xfrm_replay_mode {
|
||||
XFRM_REPLAY_MODE_LEGACY,
|
||||
XFRM_REPLAY_MODE_BMP,
|
||||
XFRM_REPLAY_MODE_ESN,
|
||||
};
|
||||
|
||||
/* Full description of state of transformer. */
|
||||
struct xfrm_state {
|
||||
possible_net_t xs_net;
|
||||
|
@ -154,6 +160,7 @@ struct xfrm_state {
|
|||
};
|
||||
struct hlist_node bysrc;
|
||||
struct hlist_node byspi;
|
||||
struct hlist_node byseq;
|
||||
|
||||
refcount_t refcnt;
|
||||
spinlock_t lock;
|
||||
|
@ -214,9 +221,8 @@ 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
|
||||
* moment
|
||||
*/
|
||||
|
@ -296,18 +302,6 @@ struct km_event {
|
|||
struct net *net;
|
||||
};
|
||||
|
||||
struct xfrm_replay {
|
||||
void (*advance)(struct xfrm_state *x, __be32 net_seq);
|
||||
int (*check)(struct xfrm_state *x,
|
||||
struct sk_buff *skb,
|
||||
__be32 net_seq);
|
||||
int (*recheck)(struct xfrm_state *x,
|
||||
struct sk_buff *skb,
|
||||
__be32 net_seq);
|
||||
void (*notify)(struct xfrm_state *x, int event);
|
||||
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);
|
||||
|
@ -387,7 +381,6 @@ void xfrm_flush_gc(void);
|
|||
void xfrm_state_delete_tunnel(struct xfrm_state *x);
|
||||
|
||||
struct xfrm_type {
|
||||
char *description;
|
||||
struct module *owner;
|
||||
u8 proto;
|
||||
u8 flags;
|
||||
|
@ -402,14 +395,12 @@ struct xfrm_type {
|
|||
int (*output)(struct xfrm_state *, struct sk_buff *pskb);
|
||||
int (*reject)(struct xfrm_state *, struct sk_buff *,
|
||||
const struct flowi *);
|
||||
int (*hdr_offset)(struct xfrm_state *, struct sk_buff *, u8 **);
|
||||
};
|
||||
|
||||
int xfrm_register_type(const struct xfrm_type *type, unsigned short family);
|
||||
void xfrm_unregister_type(const struct xfrm_type *type, unsigned short family);
|
||||
|
||||
struct xfrm_type_offload {
|
||||
char *description;
|
||||
struct module *owner;
|
||||
u8 proto;
|
||||
void (*encap)(struct xfrm_state *, struct sk_buff *pskb);
|
||||
|
@ -1582,7 +1573,6 @@ static inline int xfrm4_rcv_spi(struct sk_buff *skb, int nexthdr, __be32 spi)
|
|||
}
|
||||
|
||||
int xfrm4_output(struct net *net, struct sock *sk, struct sk_buff *skb);
|
||||
int xfrm4_output_finish(struct sock *sk, struct sk_buff *skb);
|
||||
int xfrm4_protocol_register(struct xfrm4_protocol *handler, unsigned char protocol);
|
||||
int xfrm4_protocol_deregister(struct xfrm4_protocol *handler, unsigned char protocol);
|
||||
int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family);
|
||||
|
@ -1606,9 +1596,6 @@ int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler, unsigned short family)
|
|||
__be32 xfrm6_tunnel_alloc_spi(struct net *net, xfrm_address_t *saddr);
|
||||
__be32 xfrm6_tunnel_spi_lookup(struct net *net, const xfrm_address_t *saddr);
|
||||
int xfrm6_output(struct net *net, struct sock *sk, struct sk_buff *skb);
|
||||
int xfrm6_output_finish(struct sock *sk, struct sk_buff *skb);
|
||||
int xfrm6_find_1stfragopt(struct xfrm_state *x, struct sk_buff *skb,
|
||||
u8 **prevhdr);
|
||||
|
||||
#ifdef CONFIG_XFRM
|
||||
void xfrm6_local_rxpmtu(struct sk_buff *skb, u32 mtu);
|
||||
|
@ -1722,6 +1709,12 @@ 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)
|
||||
{
|
||||
struct sock *nlsk;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue