psp_assoc
static void mlx5e_psp_assoc_del(struct psp_dev *psd, struct psp_assoc *pas)
static int mlx5e_psp_assoc_add(struct psp_dev *psd, struct psp_assoc *pas,
struct psp_assoc *pas;
static int nsim_assoc_add(struct psp_dev *psd, struct psp_assoc *pas,
static void nsim_assoc_del(struct psp_dev *psd, struct psp_assoc *pas)
struct psp_assoc *pas;
struct psp_assoc __rcu *psp_assoc;
return __psp_sk_rx_policy_check(skb, rcu_dereference(tw->psp_assoc));
static inline struct psp_assoc *psp_sk_get_assoc_rcu(const struct sock *sk)
struct psp_assoc *pas;
rcu_dereference(inet_twsk(sk)->psp_assoc) :
rcu_dereference(sk->psp_assoc);
static inline struct psp_assoc *psp_skb_get_assoc_rcu(struct sk_buff *skb)
bool has_psp = rcu_access_pointer(sk->psp_assoc);
static inline struct psp_assoc *psp_sk_assoc(const struct sock *sk)
static inline struct psp_assoc *psp_skb_get_assoc_rcu(struct sk_buff *skb)
void psp_assoc_put(struct psp_assoc *pas);
static inline void *psp_assoc_drv_data(struct psp_assoc *pas)
static inline struct psp_assoc *psp_sk_assoc(const struct sock *sk)
return rcu_dereference_check(sk->psp_assoc, lockdep_sock_is_held(sk));
struct psp_assoc *pas;
psp_is_allowed_nondata(struct sk_buff *skb, struct psp_assoc *pas)
psp_pse_matches_pas(struct psp_skb_ext *pse, struct psp_assoc *pas)
__psp_sk_rx_policy_check(struct sk_buff *skb, struct psp_assoc *pas)
int (*tx_key_add)(struct psp_dev *psd, struct psp_assoc *pas,
void (*tx_key_del)(struct psp_dev *psd, struct psp_assoc *pas);
struct psp_assoc __rcu *psp_assoc;
struct psp_assoc *psp_assoc_create(struct psp_dev *psd);
void psp_dev_tx_key_del(struct psp_dev *psd, struct psp_assoc *pas);
int psp_sock_assoc_set_rx(struct sock *sk, struct psp_assoc *pas,
struct psp_assoc *pas, *next;
struct psp_assoc *pas;
struct psp_assoc *pas = container_of(head, struct psp_assoc, rcu);
void psp_assoc_put(struct psp_assoc *pas)
struct psp_assoc *pas = rcu_dereference_protected(sk->psp_assoc, 1);
rcu_assign_pointer(sk->psp_assoc, NULL);
int psp_sock_assoc_set_rx(struct sock *sk, struct psp_assoc *pas,
rcu_assign_pointer(sk->psp_assoc, pas);
static int psp_sock_recv_queue_check(struct sock *sk, struct psp_assoc *pas)
struct psp_assoc *pas, *dummy;
struct psp_assoc *pas, *next;
struct psp_assoc *pas = psp_sk_assoc(sk);
rcu_assign_pointer(tw->psp_assoc, pas);
struct psp_assoc *pas = rcu_dereference_protected(tw->psp_assoc, 1);
rcu_assign_pointer(tw->psp_assoc, NULL);
struct psp_assoc *pas;
struct psp_assoc *pas;
struct psp_assoc *psp_assoc_create(struct psp_dev *psd)
struct psp_assoc *pas;
static struct psp_assoc *psp_assoc_dummy(struct psp_assoc *pas)
static int psp_dev_tx_key_add(struct psp_dev *psd, struct psp_assoc *pas,
void psp_dev_tx_key_del(struct psp_dev *psd, struct psp_assoc *pas)
struct psp_assoc *pas = container_of(work, struct psp_assoc, work);