Lines Matching refs:sk
39 static int rose_state1_machine(struct sock *sk, struct sk_buff *skb, int frametype) in rose_state1_machine() argument
41 struct rose_sock *rose = rose_sk(sk); in rose_state1_machine()
45 rose_stop_timer(sk); in rose_state1_machine()
46 rose_start_idletimer(sk); in rose_state1_machine()
53 sk->sk_state = TCP_ESTABLISHED; in rose_state1_machine()
54 if (!sock_flag(sk, SOCK_DEAD)) in rose_state1_machine()
55 sk->sk_state_change(sk); in rose_state1_machine()
59 rose_write_internal(sk, ROSE_CLEAR_CONFIRMATION); in rose_state1_machine()
60 rose_disconnect(sk, ECONNREFUSED, skb->data[3], skb->data[4]); in rose_state1_machine()
76 static int rose_state2_machine(struct sock *sk, struct sk_buff *skb, int frametype) in rose_state2_machine() argument
78 struct rose_sock *rose = rose_sk(sk); in rose_state2_machine()
82 rose_write_internal(sk, ROSE_CLEAR_CONFIRMATION); in rose_state2_machine()
83 rose_disconnect(sk, 0, skb->data[3], skb->data[4]); in rose_state2_machine()
88 rose_disconnect(sk, 0, -1, -1); in rose_state2_machine()
104 static int rose_state3_machine(struct sock *sk, struct sk_buff *skb, int frametype, int ns, int nr,… in rose_state3_machine() argument
106 struct rose_sock *rose = rose_sk(sk); in rose_state3_machine()
111 rose_stop_timer(sk); in rose_state3_machine()
112 rose_start_idletimer(sk); in rose_state3_machine()
113 rose_write_internal(sk, ROSE_RESET_CONFIRMATION); in rose_state3_machine()
119 rose_requeue_frames(sk); in rose_state3_machine()
123 rose_write_internal(sk, ROSE_CLEAR_CONFIRMATION); in rose_state3_machine()
124 rose_disconnect(sk, 0, skb->data[3], skb->data[4]); in rose_state3_machine()
130 if (!rose_validate_nr(sk, nr)) { in rose_state3_machine()
131 rose_write_internal(sk, ROSE_RESET_REQUEST); in rose_state3_machine()
138 rose_start_t2timer(sk); in rose_state3_machine()
139 rose_stop_idletimer(sk); in rose_state3_machine()
141 rose_frames_acked(sk, nr); in rose_state3_machine()
152 if (!rose_validate_nr(sk, nr)) { in rose_state3_machine()
153 rose_write_internal(sk, ROSE_RESET_REQUEST); in rose_state3_machine()
160 rose_start_t2timer(sk); in rose_state3_machine()
161 rose_stop_idletimer(sk); in rose_state3_machine()
164 rose_frames_acked(sk, nr); in rose_state3_machine()
166 rose_start_idletimer(sk); in rose_state3_machine()
167 if (sock_queue_rcv_skb(sk, skb) == 0) { in rose_state3_machine()
172 rose_write_internal(sk, ROSE_RESET_REQUEST); in rose_state3_machine()
179 rose_start_t2timer(sk); in rose_state3_machine()
180 rose_stop_idletimer(sk); in rose_state3_machine()
183 if (atomic_read(&sk->sk_rmem_alloc) > in rose_state3_machine()
184 (sk->sk_rcvbuf >> 1)) in rose_state3_machine()
193 rose_stop_timer(sk); in rose_state3_machine()
194 rose_enquiry_response(sk); in rose_state3_machine()
197 rose_start_hbtimer(sk); in rose_state3_machine()
214 static int rose_state4_machine(struct sock *sk, struct sk_buff *skb, int frametype) in rose_state4_machine() argument
216 struct rose_sock *rose = rose_sk(sk); in rose_state4_machine()
220 rose_write_internal(sk, ROSE_RESET_CONFIRMATION); in rose_state4_machine()
222 rose_stop_timer(sk); in rose_state4_machine()
223 rose_start_idletimer(sk); in rose_state4_machine()
230 rose_requeue_frames(sk); in rose_state4_machine()
234 rose_write_internal(sk, ROSE_CLEAR_CONFIRMATION); in rose_state4_machine()
235 rose_disconnect(sk, 0, skb->data[3], skb->data[4]); in rose_state4_machine()
251 static int rose_state5_machine(struct sock *sk, struct sk_buff *skb, int frametype) in rose_state5_machine() argument
254 rose_write_internal(sk, ROSE_CLEAR_CONFIRMATION); in rose_state5_machine()
255 rose_disconnect(sk, 0, skb->data[3], skb->data[4]); in rose_state5_machine()
256 rose_sk(sk)->neighbour->use--; in rose_state5_machine()
263 int rose_process_rx_frame(struct sock *sk, struct sk_buff *skb) in rose_process_rx_frame() argument
265 struct rose_sock *rose = rose_sk(sk); in rose_process_rx_frame()
275 queued = rose_state1_machine(sk, skb, frametype); in rose_process_rx_frame()
278 queued = rose_state2_machine(sk, skb, frametype); in rose_process_rx_frame()
281 queued = rose_state3_machine(sk, skb, frametype, ns, nr, q, d, m); in rose_process_rx_frame()
284 queued = rose_state4_machine(sk, skb, frametype); in rose_process_rx_frame()
287 queued = rose_state5_machine(sk, skb, frametype); in rose_process_rx_frame()
291 rose_kick(sk); in rose_process_rx_frame()