kernel-interface: Optionally pass CPU ID for which an acquire was triggered
This commit is contained in:
@@ -25,7 +25,9 @@
|
|||||||
|
|
||||||
void charon_esa_acquire(result_type *res, const sp_id_type sp_id)
|
void charon_esa_acquire(result_type *res, const sp_id_type sp_id)
|
||||||
{
|
{
|
||||||
kernel_acquire_data_t data = {};
|
kernel_acquire_data_t data = {
|
||||||
|
.cpu = CPU_ID_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
DBG1(DBG_KNL, "ees: acquire received for reqid %u", sp_id);
|
DBG1(DBG_KNL, "ees: acquire received for reqid %u", sp_id);
|
||||||
charon->kernel->acquire(charon->kernel, sp_id, &data);
|
charon->kernel->acquire(charon->kernel, sp_id, &data);
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ struct kernel_acquire_data_t {
|
|||||||
traffic_selector_t *dst;
|
traffic_selector_t *dst;
|
||||||
/** Optional security label of the triggering packet */
|
/** Optional security label of the triggering packet */
|
||||||
sec_label_t *label;
|
sec_label_t *label;
|
||||||
|
/** Optional CPU ID of the triggering packet, CPU_ID_MAX if none */
|
||||||
|
uint32_t cpu;
|
||||||
/** Optional sequence number associated with the acquire */
|
/** Optional sequence number associated with the acquire */
|
||||||
uint32_t seq;
|
uint32_t seq;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -238,7 +238,9 @@ static void expire(uint8_t protocol, uint32_t spi, host_t *dst, bool hard)
|
|||||||
*/
|
*/
|
||||||
static void acquire(uint32_t reqid)
|
static void acquire(uint32_t reqid)
|
||||||
{
|
{
|
||||||
kernel_acquire_data_t data = {};
|
kernel_acquire_data_t data = {
|
||||||
|
.cpu = CPU_ID_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
charon->kernel->acquire(charon->kernel, reqid, &data);
|
charon->kernel->acquire(charon->kernel, reqid, &data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -974,7 +974,9 @@ static void process_acquire(private_kernel_netlink_ipsec_t *this,
|
|||||||
struct xfrm_user_acquire *acquire;
|
struct xfrm_user_acquire *acquire;
|
||||||
struct rtattr *rta;
|
struct rtattr *rta;
|
||||||
size_t rtasize;
|
size_t rtasize;
|
||||||
kernel_acquire_data_t data = {};
|
kernel_acquire_data_t data = {
|
||||||
|
.cpu = CPU_ID_MAX,
|
||||||
|
};
|
||||||
chunk_t label = chunk_empty;
|
chunk_t label = chunk_empty;
|
||||||
uint32_t reqid = 0;
|
uint32_t reqid = 0;
|
||||||
uint8_t proto;
|
uint8_t proto;
|
||||||
|
|||||||
@@ -1324,7 +1324,9 @@ static void process_acquire(private_kernel_pfkey_ipsec_t *this,
|
|||||||
struct sadb_msg* msg)
|
struct sadb_msg* msg)
|
||||||
{
|
{
|
||||||
pfkey_msg_t response;
|
pfkey_msg_t response;
|
||||||
kernel_acquire_data_t data = {};
|
kernel_acquire_data_t data = {
|
||||||
|
.cpu = CPU_ID_MAX,
|
||||||
|
};
|
||||||
uint32_t index, reqid = 0;
|
uint32_t index, reqid = 0;
|
||||||
uint8_t mode = 0;
|
uint8_t mode = 0;
|
||||||
policy_entry_t *policy;
|
policy_entry_t *policy;
|
||||||
|
|||||||
@@ -1637,7 +1637,9 @@ static u_int hash_trap(trap_t *trap)
|
|||||||
static void acquire(private_kernel_wfp_ipsec_t *this, UINT64 filter_id,
|
static void acquire(private_kernel_wfp_ipsec_t *this, UINT64 filter_id,
|
||||||
traffic_selector_t *src, traffic_selector_t *dst)
|
traffic_selector_t *src, traffic_selector_t *dst)
|
||||||
{
|
{
|
||||||
kernel_acquire_data_t data = {};
|
kernel_acquire_data_t data = {
|
||||||
|
.cpu = CPU_ID_MAX,
|
||||||
|
};
|
||||||
uint32_t reqid = 0;
|
uint32_t reqid = 0;
|
||||||
trap_t *trap, key = {
|
trap_t *trap, key = {
|
||||||
.filter_id = filter_id,
|
.filter_id = filter_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user