Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 2231
b: refs/heads/master
c: 26b15da
h: refs/heads/master
i:
  2229: 859814f
  2227: dff6975
  2223: ffabe89
v: v3
  • Loading branch information
Jamal Hadi Salim authored and David S. Miller committed Jun 19, 2005
1 parent b4162cd commit 806d04a
Show file tree
Hide file tree
Showing 6 changed files with 617 additions and 119 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3aa3dfb372576f30835a94409556e3c8681b5756
refs/heads/master: 26b15dad9f1c19d6d4f7b999b07eaa6d98e4b375
2 changes: 2 additions & 0 deletions trunk/include/linux/xfrm.h
Original file line number Diff line number Diff line change
Expand Up @@ -257,5 +257,7 @@ struct xfrm_usersa_flush {

#define XFRMGRP_ACQUIRE 1
#define XFRMGRP_EXPIRE 2
#define XFRMGRP_SA 4
#define XFRMGRP_POLICY 8

#endif /* _LINUX_XFRM_H */
29 changes: 26 additions & 3 deletions trunk/include/net/xfrm.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,27 @@ enum {
XFRM_STATE_DEAD
};

/* events that could be sent by kernel */
enum {
XFRM_SAP_INVALID,
XFRM_SAP_EXPIRED,
XFRM_SAP_ADDED,
XFRM_SAP_UPDATED,
XFRM_SAP_DELETED,
XFRM_SAP_FLUSHED,
__XFRM_SAP_MAX
};
#define XFRM_SAP_MAX (__XFRM_SAP_MAX - 1)

/* callback structure passed from either netlink or pfkey */
struct km_event
{
u32 data;
u32 seq;
u32 pid;
u32 event;
};

struct xfrm_type;
struct xfrm_dst;
struct xfrm_policy_afinfo {
Expand All @@ -179,6 +200,8 @@ struct xfrm_policy_afinfo {

extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo);
extern int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo);
extern void km_policy_notify(struct xfrm_policy *xp, int dir, struct km_event *c);
extern void km_state_notify(struct xfrm_state *x, struct km_event *c);

#define XFRM_ACQ_EXPIRES 30

Expand Down Expand Up @@ -290,11 +313,11 @@ struct xfrm_mgr
{
struct list_head list;
char *id;
int (*notify)(struct xfrm_state *x, int event);
int (*notify)(struct xfrm_state *x, struct km_event *c);
int (*acquire)(struct xfrm_state *x, struct xfrm_tmpl *, struct xfrm_policy *xp, int dir);
struct xfrm_policy *(*compile_policy)(u16 family, int opt, u8 *data, int len, int *dir);
int (*new_mapping)(struct xfrm_state *x, xfrm_address_t *ipaddr, u16 sport);
int (*notify_policy)(struct xfrm_policy *x, int dir, int event);
int (*notify_policy)(struct xfrm_policy *x, int dir, struct km_event *c);
};

extern int xfrm_register_km(struct xfrm_mgr *km);
Expand Down Expand Up @@ -817,7 +840,7 @@ extern int xfrm_state_add(struct xfrm_state *x);
extern int xfrm_state_update(struct xfrm_state *x);
extern struct xfrm_state *xfrm_state_lookup(xfrm_address_t *daddr, u32 spi, u8 proto, unsigned short family);
extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq);
extern void xfrm_state_delete(struct xfrm_state *x);
extern int xfrm_state_delete(struct xfrm_state *x);
extern void xfrm_state_flush(u8 proto);
extern int xfrm_replay_check(struct xfrm_state *x, u32 seq);
extern void xfrm_replay_advance(struct xfrm_state *x, u32 seq);
Expand Down
Loading

0 comments on commit 806d04a

Please sign in to comment.