Lines Matching refs:first
242 static void wg_packet_create_data_done(struct wg_peer *peer, struct sk_buff *first) in wg_packet_create_data_done() argument
249 skb_list_walk_safe(first, skb, next) { in wg_packet_create_data_done()
267 struct sk_buff *first; in wg_packet_tx_worker() local
269 while ((first = wg_prev_queue_peek(&peer->tx_queue)) != NULL && in wg_packet_tx_worker()
270 (state = atomic_read_acquire(&PACKET_CB(first)->state)) != in wg_packet_tx_worker()
273 keypair = PACKET_CB(first)->keypair; in wg_packet_tx_worker()
276 wg_packet_create_data_done(peer, first); in wg_packet_tx_worker()
278 kfree_skb_list(first); in wg_packet_tx_worker()
291 struct sk_buff *first, *skb, *next; in wg_packet_encrypt_worker() local
293 while ((first = ptr_ring_consume_bh(&queue->ring)) != NULL) { in wg_packet_encrypt_worker()
296 skb_list_walk_safe(first, skb, next) { in wg_packet_encrypt_worker()
298 PACKET_CB(first)->keypair))) { in wg_packet_encrypt_worker()
305 wg_queue_enqueue_per_peer_tx(first, state); in wg_packet_encrypt_worker()
311 static void wg_packet_create_data(struct wg_peer *peer, struct sk_buff *first) in wg_packet_create_data() argument
320 ret = wg_queue_enqueue_per_device_and_peer(&wg->encrypt_queue, &peer->tx_queue, first, in wg_packet_create_data()
323 wg_queue_enqueue_per_peer_tx(first, PACKET_STATE_DEAD); in wg_packet_create_data()
328 wg_noise_keypair_put(PACKET_CB(first)->keypair, false); in wg_packet_create_data()
330 kfree_skb_list(first); in wg_packet_create_data()