Lines Matching refs:skb

42 int rxrpc_queue_rcv_skb(struct rxrpc_call *call, struct sk_buff *skb,  in rxrpc_queue_rcv_skb()  argument
54 sp = rxrpc_skb(skb); in rxrpc_queue_rcv_skb()
62 skb->destructor = NULL; in rxrpc_queue_rcv_skb()
65 rxrpc_free_skb(skb); in rxrpc_queue_rcv_skb()
80 ret = sk_filter(sk, skb); in rxrpc_queue_rcv_skb()
89 skb->destructor = rxrpc_packet_destructor; in rxrpc_queue_rcv_skb()
90 skb->dev = NULL; in rxrpc_queue_rcv_skb()
91 skb->sk = sk; in rxrpc_queue_rcv_skb()
92 atomic_add(skb->truesize, &sk->sk_rmem_alloc); in rxrpc_queue_rcv_skb()
101 rx->interceptor(sk, call->user_call_ID, skb); in rxrpc_queue_rcv_skb()
104 _net("post skb %p", skb); in rxrpc_queue_rcv_skb()
105 __skb_queue_tail(&sk->sk_receive_queue, skb); in rxrpc_queue_rcv_skb()
111 skb = NULL; in rxrpc_queue_rcv_skb()
119 if (skb) { in rxrpc_queue_rcv_skb()
120 skb->destructor = NULL; in rxrpc_queue_rcv_skb()
123 rxrpc_free_skb(skb); in rxrpc_queue_rcv_skb()
135 struct sk_buff *skb, u32 seq) in rxrpc_fast_process_data() argument
143 sp = rxrpc_skb(skb); in rxrpc_fast_process_data()
209 ret = rxrpc_queue_rcv_skb(call, skb, false, terminal); in rxrpc_fast_process_data()
219 skb = NULL; in rxrpc_fast_process_data()
253 _debug("discard and ACK packet %p", skb); in rxrpc_fast_process_data()
257 rxrpc_free_skb(skb); in rxrpc_fast_process_data()
264 _net("defer skb %p", skb); in rxrpc_fast_process_data()
266 skb_queue_tail(&call->rx_queue, skb); in rxrpc_fast_process_data()
310 void rxrpc_fast_process_packet(struct rxrpc_call *call, struct sk_buff *skb) in rxrpc_fast_process_packet() argument
312 struct rxrpc_skb_priv *sp = rxrpc_skb(skb); in rxrpc_fast_process_packet()
316 _enter("%p,%p", call, skb); in rxrpc_fast_process_packet()
350 if (skb_copy_bits(skb, 0, &_abort_code, in rxrpc_fast_process_packet()
403 switch (rxrpc_fast_process_data(call, skb, seq)) { in rxrpc_fast_process_packet()
405 skb = NULL; in rxrpc_fast_process_packet()
421 skb_queue_tail(&call->rx_queue, skb); in rxrpc_fast_process_packet()
423 skb = NULL; in rxrpc_fast_process_packet()
442 rxrpc_free_skb(skb); in rxrpc_fast_process_packet()
520 struct sk_buff *skb) in rxrpc_post_packet_to_call() argument
524 _enter("%p,%p", call, skb); in rxrpc_post_packet_to_call()
526 sp = rxrpc_skb(skb); in rxrpc_post_packet_to_call()
561 rxrpc_process_jumbo_packet(call, skb); in rxrpc_post_packet_to_call()
563 rxrpc_fast_process_packet(call, skb); in rxrpc_post_packet_to_call()
570 skb->priority = RX_CALL_DEAD; in rxrpc_post_packet_to_call()
571 rxrpc_reject_packet(call->conn->trans->local, skb); in rxrpc_post_packet_to_call()
575 rxrpc_free_skb(skb); in rxrpc_post_packet_to_call()
587 struct sk_buff *skb) in rxrpc_post_packet_to_conn() argument
589 _enter("%p,%p", conn, skb); in rxrpc_post_packet_to_conn()
592 skb_queue_tail(&conn->rx_queue, skb); in rxrpc_post_packet_to_conn()
601 struct sk_buff *skb) in rxrpc_post_packet_to_local() argument
603 _enter("%p,%p", local, skb); in rxrpc_post_packet_to_local()
606 skb_queue_tail(&local->event_queue, skb); in rxrpc_post_packet_to_local()
611 struct sk_buff *skb, in rxrpc_conn_from_local() argument
618 peer = rxrpc_find_peer(local, ip_hdr(skb)->saddr, in rxrpc_conn_from_local()
619 udp_hdr(skb)->source); in rxrpc_conn_from_local()
646 struct sk_buff *skb; in rxrpc_data_ready() local
665 skb = skb_recv_datagram(sk, 0, 1, &ret); in rxrpc_data_ready()
666 if (!skb) { in rxrpc_data_ready()
674 rxrpc_new_skb(skb); in rxrpc_data_ready()
676 _net("recv skb %p", skb); in rxrpc_data_ready()
679 if (skb_checksum_complete(skb)) { in rxrpc_data_ready()
680 rxrpc_free_skb(skb); in rxrpc_data_ready()
691 skb_orphan(skb); in rxrpc_data_ready()
692 sp = rxrpc_skb(skb); in rxrpc_data_ready()
696 ntohl(ip_hdr(skb)->saddr), ntohs(udp_hdr(skb)->source)); in rxrpc_data_ready()
699 if (skb_copy_bits(skb, sizeof(struct udphdr), &sp->hdr, in rxrpc_data_ready()
702 if (!pskb_pull(skb, sizeof(struct udphdr) + sizeof(sp->hdr))) in rxrpc_data_ready()
717 rxrpc_post_packet_to_local(local, skb); in rxrpc_data_ready()
731 conn = rxrpc_conn_from_local(local, skb, sp); in rxrpc_data_ready()
736 rxrpc_post_packet_to_conn(conn, skb); in rxrpc_data_ready()
747 (u8 *)&ip_hdr(skb)->saddr); in rxrpc_data_ready()
749 rxrpc_post_packet_to_call(call, skb); in rxrpc_data_ready()
764 skb_queue_tail(&local->accept_queue, skb); in rxrpc_data_ready()
770 skb->priority = RX_INVALID_OPERATION; in rxrpc_data_ready()
772 skb->priority = RX_CALL_DEAD; in rxrpc_data_ready()
777 rxrpc_reject_packet(local, skb); in rxrpc_data_ready()
784 skb->priority = RX_PROTOCOL_ERROR; in rxrpc_data_ready()
785 rxrpc_reject_packet(local, skb); in rxrpc_data_ready()