Skip to content

Commit e0aeb9b

Browse files
raed-salemrleon
authored andcommitted
xfrm: add new device offload acquire flag
During XFRM acquire flow, a default SA is created to be updated later, once acquire netlink message is handled in user space. When the relevant policy is offloaded this default SA is also offloaded to IPsec offload supporting driver, however this SA does not have context suitable for offloading in HW, nor is interesting to offload to HW, consequently needs a special driver handling apart from other offloaded SA(s). Add a special flag that marks such SA so driver can handle it correctly. Signed-off-by: Raed Salem <[email protected]> Link: https://lore.kernel.org/r/f5da0834d8c6b82ab9ba38bd4a0c55e71f0e3dab.1678714336.git.leon@kernel.org Acked-by: Steffen Klassert <[email protected]> Signed-off-by: Leon Romanovsky <[email protected]>
1 parent fa5aa2f commit e0aeb9b

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

include/net/xfrm.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,18 @@ enum {
138138
XFRM_DEV_OFFLOAD_PACKET,
139139
};
140140

141+
enum {
142+
XFRM_DEV_OFFLOAD_FLAG_ACQ = 1,
143+
};
144+
141145
struct xfrm_dev_offload {
142146
struct net_device *dev;
143147
netdevice_tracker dev_tracker;
144148
struct net_device *real_dev;
145149
unsigned long offload_handle;
146150
u8 dir : 2;
147151
u8 type : 2;
152+
u8 flags : 2;
148153
};
149154

150155
struct xfrm_mode {

net/xfrm/xfrm_state.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1272,6 +1272,7 @@ xfrm_state_find(const xfrm_address_t *daddr, const xfrm_address_t *saddr,
12721272
xso->dir = xdo->dir;
12731273
xso->dev = xdo->dev;
12741274
xso->real_dev = xdo->real_dev;
1275+
xso->flags = XFRM_DEV_OFFLOAD_FLAG_ACQ;
12751276
netdev_tracker_alloc(xso->dev, &xso->dev_tracker,
12761277
GFP_ATOMIC);
12771278
error = xso->dev->xfrmdev_ops->xdo_dev_state_add(x, NULL);

0 commit comments

Comments
 (0)