• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/net/x25/

Lines Matching refs:nb

39 static void x25_transmit_restart_confirmation(struct x25_neigh *nb);
40 static void x25_transmit_restart_request(struct x25_neigh *nb);
45 static inline void x25_start_t20timer(struct x25_neigh *nb)
47 mod_timer(&nb->t20timer, jiffies + nb->t20);
52 struct x25_neigh *nb = (struct x25_neigh *)param;
54 x25_transmit_restart_request(nb);
56 x25_start_t20timer(nb);
59 static inline void x25_stop_t20timer(struct x25_neigh *nb)
61 del_timer(&nb->t20timer);
64 static inline int x25_t20timer_pending(struct x25_neigh *nb)
66 return timer_pending(&nb->t20timer);
72 void x25_link_control(struct sk_buff *skb, struct x25_neigh *nb,
80 confirm = !x25_t20timer_pending(nb);
81 x25_stop_t20timer(nb);
82 nb->state = X25_LINK_STATE_3;
84 x25_transmit_restart_confirmation(nb);
88 x25_stop_t20timer(nb);
89 nb->state = X25_LINK_STATE_3;
105 if (nb->state == X25_LINK_STATE_3)
106 while ((skbn = skb_dequeue(&nb->queue)) != NULL)
107 x25_send_frame(skbn, nb);
113 static void x25_transmit_restart_request(struct x25_neigh *nb)
126 *dptr++ = nb->extended ? X25_GFI_EXTSEQ : X25_GFI_STDSEQ;
134 x25_send_frame(skb, nb);
140 static void x25_transmit_restart_confirmation(struct x25_neigh *nb)
153 *dptr++ = nb->extended ? X25_GFI_EXTSEQ : X25_GFI_STDSEQ;
159 x25_send_frame(skb, nb);
166 void x25_transmit_clear_request(struct x25_neigh *nb, unsigned int lci,
180 *dptr++ = ((lci >> 8) & 0x0F) | (nb->extended ?
190 x25_send_frame(skb, nb);
193 void x25_transmit_link(struct sk_buff *skb, struct x25_neigh *nb)
195 switch (nb->state) {
197 skb_queue_tail(&nb->queue, skb);
198 nb->state = X25_LINK_STATE_1;
199 x25_establish_link(nb);
203 skb_queue_tail(&nb->queue, skb);
206 x25_send_frame(skb, nb);
214 void x25_link_established(struct x25_neigh *nb)
216 switch (nb->state) {
218 nb->state = X25_LINK_STATE_2;
221 x25_transmit_restart_request(nb);
222 nb->state = X25_LINK_STATE_2;
223 x25_start_t20timer(nb);
233 void x25_link_terminated(struct x25_neigh *nb)
235 nb->state = X25_LINK_STATE_0;
237 x25_kill_by_neigh(nb);
245 struct x25_neigh *nb = kmalloc(sizeof(*nb), GFP_ATOMIC);
247 if (!nb)
250 skb_queue_head_init(&nb->queue);
251 setup_timer(&nb->t20timer, x25_t20timer_expiry, (unsigned long)nb);
254 nb->dev = dev;
255 nb->state = X25_LINK_STATE_0;
256 nb->extended = 0;
260 nb->global_facil_mask = X25_MASK_REVERSE |
264 nb->t20 = sysctl_x25_restart_request_timeout;
265 atomic_set(&nb->refcnt, 1);
268 list_add(&nb->node, &x25_neigh_list);
274 * @nb - neigh to remove
279 static void __x25_remove_neigh(struct x25_neigh *nb)
281 skb_queue_purge(&nb->queue);
282 x25_stop_t20timer(nb);
284 if (nb->node.next) {
285 list_del(&nb->node);
286 x25_neigh_put(nb);
295 struct x25_neigh *nb;
301 nb = list_entry(entry, struct x25_neigh, node);
303 if (nb->dev == dev) {
304 __x25_remove_neigh(nb);
317 struct x25_neigh *nb, *use = NULL;
322 nb = list_entry(entry, struct x25_neigh, node);
324 if (nb->dev == dev) {
325 use = nb;
342 struct x25_neigh *nb;
357 if ((nb = x25_get_neigh(dev)) == NULL)
363 x25_subscr.extended = nb->extended;
364 x25_subscr.global_facil_mask = nb->global_facil_mask;
371 nb->extended = x25_subscr.extended;
372 nb->global_facil_mask = x25_subscr.global_facil_mask;
375 x25_neigh_put(nb);
389 struct x25_neigh *nb;
395 nb = list_entry(entry, struct x25_neigh, node);
396 __x25_remove_neigh(nb);
397 dev_put(nb->dev);