Lines Matching refs:neigh

33 static void rose_transmit_restart_confirmation(struct rose_neigh *neigh);
34 static void rose_transmit_restart_request(struct rose_neigh *neigh);
36 void rose_start_ftimer(struct rose_neigh *neigh) in rose_start_ftimer() argument
38 del_timer(&neigh->ftimer); in rose_start_ftimer()
40 neigh->ftimer.data = (unsigned long)neigh; in rose_start_ftimer()
41 neigh->ftimer.function = &rose_ftimer_expiry; in rose_start_ftimer()
42 neigh->ftimer.expires = in rose_start_ftimer()
45 add_timer(&neigh->ftimer); in rose_start_ftimer()
48 static void rose_start_t0timer(struct rose_neigh *neigh) in rose_start_t0timer() argument
50 del_timer(&neigh->t0timer); in rose_start_t0timer()
52 neigh->t0timer.data = (unsigned long)neigh; in rose_start_t0timer()
53 neigh->t0timer.function = &rose_t0timer_expiry; in rose_start_t0timer()
54 neigh->t0timer.expires = in rose_start_t0timer()
57 add_timer(&neigh->t0timer); in rose_start_t0timer()
60 void rose_stop_ftimer(struct rose_neigh *neigh) in rose_stop_ftimer() argument
62 del_timer(&neigh->ftimer); in rose_stop_ftimer()
65 void rose_stop_t0timer(struct rose_neigh *neigh) in rose_stop_t0timer() argument
67 del_timer(&neigh->t0timer); in rose_stop_t0timer()
70 int rose_ftimer_running(struct rose_neigh *neigh) in rose_ftimer_running() argument
72 return timer_pending(&neigh->ftimer); in rose_ftimer_running()
75 static int rose_t0timer_running(struct rose_neigh *neigh) in rose_t0timer_running() argument
77 return timer_pending(&neigh->t0timer); in rose_t0timer_running()
86 struct rose_neigh *neigh = (struct rose_neigh *)param; in rose_t0timer_expiry() local
88 rose_transmit_restart_request(neigh); in rose_t0timer_expiry()
90 neigh->dce_mode = 0; in rose_t0timer_expiry()
92 rose_start_t0timer(neigh); in rose_t0timer_expiry()
100 static int rose_send_frame(struct sk_buff *skb, struct rose_neigh *neigh) in rose_send_frame() argument
106 rose_call = (ax25_address *)neigh->dev->dev_addr; in rose_send_frame()
110 ax25s = neigh->ax25; in rose_send_frame()
111 neigh->ax25 = ax25_send_frame(skb, 260, rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); in rose_send_frame()
115 return neigh->ax25 != NULL; in rose_send_frame()
123 static int rose_link_up(struct rose_neigh *neigh) in rose_link_up() argument
129 rose_call = (ax25_address *)neigh->dev->dev_addr; in rose_link_up()
133 ax25s = neigh->ax25; in rose_link_up()
134 neigh->ax25 = ax25_find_cb(rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); in rose_link_up()
138 return neigh->ax25 != NULL; in rose_link_up()
144 void rose_link_rx_restart(struct sk_buff *skb, struct rose_neigh *neigh, unsigned short frametype) in rose_link_rx_restart() argument
150 rose_stop_t0timer(neigh); in rose_link_rx_restart()
151 neigh->restarted = 1; in rose_link_rx_restart()
152 neigh->dce_mode = (skb->data[3] == ROSE_DTE_ORIGINATED); in rose_link_rx_restart()
153 rose_transmit_restart_confirmation(neigh); in rose_link_rx_restart()
157 rose_stop_t0timer(neigh); in rose_link_rx_restart()
158 neigh->restarted = 1; in rose_link_rx_restart()
171 if (neigh->restarted) { in rose_link_rx_restart()
172 while ((skbn = skb_dequeue(&neigh->queue)) != NULL) in rose_link_rx_restart()
173 if (!rose_send_frame(skbn, neigh)) in rose_link_rx_restart()
181 static void rose_transmit_restart_request(struct rose_neigh *neigh) in rose_transmit_restart_request() argument
203 if (!rose_send_frame(skb, neigh)) in rose_transmit_restart_request()
210 static void rose_transmit_restart_confirmation(struct rose_neigh *neigh) in rose_transmit_restart_confirmation() argument
230 if (!rose_send_frame(skb, neigh)) in rose_transmit_restart_confirmation()
238 void rose_transmit_clear_request(struct rose_neigh *neigh, unsigned int lci, unsigned char cause, u… in rose_transmit_clear_request() argument
260 if (!rose_send_frame(skb, neigh)) in rose_transmit_clear_request()
264 void rose_transmit_link(struct sk_buff *skb, struct rose_neigh *neigh) in rose_transmit_link() argument
268 if (neigh->loopback) { in rose_transmit_link()
269 rose_loopback_queue(skb, neigh); in rose_transmit_link()
273 if (!rose_link_up(neigh)) in rose_transmit_link()
274 neigh->restarted = 0; in rose_transmit_link()
279 if (neigh->restarted) { in rose_transmit_link()
280 if (!rose_send_frame(skb, neigh)) in rose_transmit_link()
283 skb_queue_tail(&neigh->queue, skb); in rose_transmit_link()
285 if (!rose_t0timer_running(neigh)) { in rose_transmit_link()
286 rose_transmit_restart_request(neigh); in rose_transmit_link()
287 neigh->dce_mode = 0; in rose_transmit_link()
288 rose_start_t0timer(neigh); in rose_transmit_link()