Home
last modified time | relevance | path

Searched refs:ax25 (Results 1 – 25 of 41) sorted by relevance

12

/linux-2.4.37.9/net/ax25/
Dax25_std_in.c67 static int ax25_std_state1_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int pf, int t… in ax25_std_state1_machine() argument
71 ax25->modulus = AX25_MODULUS; in ax25_std_state1_machine()
72 ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; in ax25_std_state1_machine()
73 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_std_state1_machine()
77 ax25->modulus = AX25_EMODULUS; in ax25_std_state1_machine()
78 ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; in ax25_std_state1_machine()
79 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_std_state1_machine()
83 ax25_send_control(ax25, AX25_DM, pf, AX25_RESPONSE); in ax25_std_state1_machine()
88 ax25_calculate_rtt(ax25); in ax25_std_state1_machine()
89 ax25_stop_t1timer(ax25); in ax25_std_state1_machine()
[all …]
Dax25_ds_in.c52 static int ax25_ds_state1_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int pf, int ty… in ax25_ds_state1_machine() argument
56 ax25->modulus = AX25_MODULUS; in ax25_ds_state1_machine()
57 ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; in ax25_ds_state1_machine()
58 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_ds_state1_machine()
62 ax25->modulus = AX25_EMODULUS; in ax25_ds_state1_machine()
63 ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; in ax25_ds_state1_machine()
64 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_ds_state1_machine()
68 ax25_send_control(ax25, AX25_DM, pf, AX25_RESPONSE); in ax25_ds_state1_machine()
72 ax25_calculate_rtt(ax25); in ax25_ds_state1_machine()
73 ax25_stop_t1timer(ax25); in ax25_ds_state1_machine()
[all …]
Dax25_std_timer.c46 void ax25_std_heartbeat_expiry(ax25_cb *ax25) in ax25_std_heartbeat_expiry() argument
48 switch (ax25->state) { in ax25_std_heartbeat_expiry()
53 if (ax25->sk == NULL || ax25->sk->destroy || (ax25->sk->state == TCP_LISTEN && ax25->sk->dead)) { in ax25_std_heartbeat_expiry()
54 ax25_destroy_socket(ax25); in ax25_std_heartbeat_expiry()
64 if (ax25->sk != NULL) { in ax25_std_heartbeat_expiry()
65 if (atomic_read(&ax25->sk->rmem_alloc) < (ax25->sk->rcvbuf / 2) && in ax25_std_heartbeat_expiry()
66 (ax25->condition & AX25_COND_OWN_RX_BUSY)) { in ax25_std_heartbeat_expiry()
67 ax25->condition &= ~AX25_COND_OWN_RX_BUSY; in ax25_std_heartbeat_expiry()
68 ax25->condition &= ~AX25_COND_ACK_PENDING; in ax25_std_heartbeat_expiry()
69 ax25_send_control(ax25, AX25_RR, AX25_POLLOFF, AX25_RESPONSE); in ax25_std_heartbeat_expiry()
[all …]
Dax25_timer.c56 void ax25_start_heartbeat(ax25_cb *ax25) in ax25_start_heartbeat() argument
58 del_timer(&ax25->timer); in ax25_start_heartbeat()
60 ax25->timer.data = (unsigned long)ax25; in ax25_start_heartbeat()
61 ax25->timer.function = &ax25_heartbeat_expiry; in ax25_start_heartbeat()
62 ax25->timer.expires = jiffies + 5 * HZ; in ax25_start_heartbeat()
64 add_timer(&ax25->timer); in ax25_start_heartbeat()
67 void ax25_start_t1timer(ax25_cb *ax25) in ax25_start_t1timer() argument
69 del_timer(&ax25->t1timer); in ax25_start_t1timer()
71 ax25->t1timer.data = (unsigned long)ax25; in ax25_start_t1timer()
72 ax25->t1timer.function = &ax25_t1timer_expiry; in ax25_start_t1timer()
[all …]
Dax25_ds_timer.c81 ax25_cb *ax25; in ax25_ds_timeout() local
91 for (ax25=ax25_list; ax25 != NULL; ax25 = ax25->next) { in ax25_ds_timeout()
92 if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) in ax25_ds_timeout()
95 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_timeout()
96 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_timeout()
102 void ax25_ds_heartbeat_expiry(ax25_cb *ax25) in ax25_ds_heartbeat_expiry() argument
104 switch (ax25->state) { in ax25_ds_heartbeat_expiry()
109 if (ax25->sk == NULL || ax25->sk->destroy || (ax25->sk->state == TCP_LISTEN && ax25->sk->dead)) { in ax25_ds_heartbeat_expiry()
110 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
119 if (ax25->sk != NULL) { in ax25_ds_heartbeat_expiry()
[all …]
Dax25_out.c63 ax25_cb *ax25; in ax25_send_frame() local
79 if ((ax25 = ax25_find_cb(src, dest, digi, dev)) != NULL) { in ax25_send_frame()
80 ax25_output(ax25, paclen, skb); in ax25_send_frame()
81 return ax25; /* It already existed */ in ax25_send_frame()
87 if ((ax25 = ax25_create_cb()) == NULL) in ax25_send_frame()
90 ax25_fillin_cb(ax25, ax25_dev); in ax25_send_frame()
92 ax25->source_addr = *src; in ax25_send_frame()
93 ax25->dest_addr = *dest; in ax25_send_frame()
96 if ((ax25->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) { in ax25_send_frame()
97 ax25_free_cb(ax25); in ax25_send_frame()
[all …]
Dax25_subr.c60 void ax25_clear_queues(ax25_cb *ax25) in ax25_clear_queues() argument
62 skb_queue_purge(&ax25->write_queue); in ax25_clear_queues()
63 skb_queue_purge(&ax25->ack_queue); in ax25_clear_queues()
64 skb_queue_purge(&ax25->reseq_queue); in ax25_clear_queues()
65 skb_queue_purge(&ax25->frag_queue); in ax25_clear_queues()
73 void ax25_frames_acked(ax25_cb *ax25, unsigned short nr) in ax25_frames_acked() argument
80 if (ax25->va != nr) { in ax25_frames_acked()
81 while (skb_peek(&ax25->ack_queue) != NULL && ax25->va != nr) { in ax25_frames_acked()
82 skb = skb_dequeue(&ax25->ack_queue); in ax25_frames_acked()
84 ax25->va = (ax25->va + 1) % ax25->modulus; in ax25_frames_acked()
[all …]
Dax25_std_subr.c49 void ax25_std_nr_error_recovery(ax25_cb *ax25) in ax25_std_nr_error_recovery() argument
51 ax25_std_establish_data_link(ax25); in ax25_std_nr_error_recovery()
54 void ax25_std_establish_data_link(ax25_cb *ax25) in ax25_std_establish_data_link() argument
56 ax25->condition = 0x00; in ax25_std_establish_data_link()
57 ax25->n2count = 0; in ax25_std_establish_data_link()
59 if (ax25->modulus == AX25_MODULUS) in ax25_std_establish_data_link()
60 ax25_send_control(ax25, AX25_SABM, AX25_POLLON, AX25_COMMAND); in ax25_std_establish_data_link()
62 ax25_send_control(ax25, AX25_SABME, AX25_POLLON, AX25_COMMAND); in ax25_std_establish_data_link()
64 ax25_calculate_t1(ax25); in ax25_std_establish_data_link()
65 ax25_stop_idletimer(ax25); in ax25_std_establish_data_link()
[all …]
Daf_ax25.c151 void ax25_free_cb(ax25_cb *ax25) in ax25_free_cb() argument
153 if (ax25->digipeat != NULL) { in ax25_free_cb()
154 kfree(ax25->digipeat); in ax25_free_cb()
155 ax25->digipeat = NULL; in ax25_free_cb()
158 kfree(ax25); in ax25_free_cb()
165 ax25_free_cb(sk->protinfo.ax25); in ax25_free_sock()
171 static void ax25_remove_socket(ax25_cb *ax25) in ax25_remove_socket() argument
178 if ((s = ax25_list) == ax25) { in ax25_remove_socket()
185 if (s->next == ax25) { in ax25_remove_socket()
186 s->next = ax25->next; in ax25_remove_socket()
[all …]
Dax25_ds_subr.c46 void ax25_ds_nr_error_recovery(ax25_cb *ax25) in ax25_ds_nr_error_recovery() argument
48 ax25_ds_establish_data_link(ax25); in ax25_ds_nr_error_recovery()
54 void ax25_ds_enquiry_response(ax25_cb *ax25) in ax25_ds_enquiry_response() argument
81 ax25_std_enquiry_response(ax25); in ax25_ds_enquiry_response()
83 if (!(ax25->condition & AX25_COND_PEER_RX_BUSY)) { in ax25_ds_enquiry_response()
84 ax25_requeue_frames(ax25); in ax25_ds_enquiry_response()
85 ax25_kick(ax25); in ax25_ds_enquiry_response()
88 …if (ax25->state == AX25_STATE_1 || ax25->state == AX25_STATE_2 || skb_peek(&ax25->ack_queue) != NU… in ax25_ds_enquiry_response()
89 ax25_ds_t1_timeout(ax25); in ax25_ds_enquiry_response()
91 ax25->n2count = 0; in ax25_ds_enquiry_response()
[all …]
Dax25_in.c71 static int ax25_rx_fragment(ax25_cb *ax25, struct sk_buff *skb) in ax25_rx_fragment() argument
75 if (ax25->fragno != 0) { in ax25_rx_fragment()
77 if ((ax25->fragno - 1) == (*skb->data & AX25_SEG_REM)) { in ax25_rx_fragment()
79 ax25->fragno = *skb->data & AX25_SEG_REM; in ax25_rx_fragment()
81 ax25->fraglen += skb->len; in ax25_rx_fragment()
82 skb_queue_tail(&ax25->frag_queue, skb); in ax25_rx_fragment()
85 if (ax25->fragno == 0) { in ax25_rx_fragment()
87 ax25->fraglen, in ax25_rx_fragment()
90 skb_queue_purge(&ax25->frag_queue); in ax25_rx_fragment()
96 skbn->dev = ax25->ax25_dev->dev; in ax25_rx_fragment()
[all …]
Dax25_route.c354 int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr) in ax25_rt_autobind() argument
362 if ((ax25->ax25_dev = ax25_dev_ax25dev(ax25_rt->dev)) == NULL) in ax25_rt_autobind()
368 call = (ax25_address *)ax25->ax25_dev->dev->dev_addr; in ax25_rt_autobind()
371 ax25->source_addr = *call; in ax25_rt_autobind()
374 if ((ax25->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) in ax25_rt_autobind()
376 memcpy(ax25->digipeat, ax25_rt->digipeat, sizeof(ax25_digi)); in ax25_rt_autobind()
377 ax25_adjust_path(addr, ax25->digipeat); in ax25_rt_autobind()
380 if (ax25->sk != NULL) in ax25_rt_autobind()
381 ax25->sk->zapped = 0; in ax25_rt_autobind()
DMakefile11 O_TARGET := ax25.o
Dax25_iface.c250 void ax25_link_failed(ax25_cb *ax25, int reason) in ax25_link_failed() argument
255 (linkfail->func)(ax25, reason); in ax25_link_failed()
DConfig.in7 # 19980129 Moved to net/ax25/Config.in, sourcing device drivers.
/linux-2.4.37.9/net/netrom/
Dnr_route.c64 static int nr_add_node(ax25_address *nr, const char *mnemonic, ax25_address *ax25, in nr_add_node() argument
85 if (ax25cmp(ax25, &nr_neigh->callsign) == 0 && nr_neigh->dev == dev) in nr_add_node()
114 nr_neigh->callsign = *ax25; in nr_add_node()
116 nr_neigh->ax25 = NULL; in nr_add_node()
143 if (quality != 0 && ax25cmp(nr, ax25) == 0 && !nr_neigh->locked) in nr_add_node()
400 nr_neigh->ax25 = NULL; in nr_add_neigh()
707 void nr_link_failed(ax25_cb *ax25, int reason) in nr_link_failed() argument
713 if (nr_neigh->ax25 == ax25) in nr_link_failed()
718 nr_neigh->ax25 = NULL; in nr_link_failed()
731 int nr_route_frame(struct sk_buff *skb, ax25_cb *ax25) in nr_route_frame() argument
[all …]
/linux-2.4.37.9/net/rose/
Drose_link.c114 neigh->ax25 = ax25_send_frame(skb, 260, rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); in rose_send_frame()
116 return (neigh->ax25 != NULL); in rose_send_frame()
133 neigh->ax25 = ax25_find_cb(rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); in rose_link_up()
135 return (neigh->ax25 != NULL); in rose_link_up()
Drose_route.c89 rose_neigh->ax25 = NULL; in rose_add_node()
356 rose_loopback_neigh->ax25 = NULL; in rose_add_loopback_neigh()
729 void rose_link_failed(ax25_cb *ax25, int reason) in rose_link_failed() argument
734 if (rose_neigh->ax25 == ax25) in rose_link_failed()
739 rose_neigh->ax25 = NULL; in rose_link_failed()
764 int rose_route_frame(struct sk_buff *skb, ax25_cb *ax25) in rose_route_frame() argument
789 …if (ax25cmp(&ax25->dest_addr, &rose_neigh->callsign) == 0 && ax25->ax25_dev->dev == rose_neigh->de… in rose_route_frame()
793 printk("rose_route : unknown neighbour or device %s\n", ax2asc(&ax25->dest_addr)); in rose_route_frame()
/linux-2.4.37.9/Documentation/networking/
Dsoundmodem.txt20 from the ax25 utilities may be used to set driver states etc. Users
22 in the ax25 utilities package) to convert packets of a network interface
58 There are two utilities, available in the ax25 utilities distribution,
Dpt.txt38 /sbin/ifconfig pt0a 44.136.8.87 hw ax25 vk2xlz mtu 512
46 /sbin/ifconfig pt0b 44.136.8.87 hw ax25 vk2xlz-1 mtu 512
Dz8530drv.txt9 2. ftp://ftp.pspt.fi/pub/ham/linux/ax25/z8530drv-utils_3.0-3.tar.gz
304 ifconfig scc0 44.128.1.1 hw ax25 dl0tha-7
311 ax25-utils and the AX.25-HOWTO to learn how to set the parameters of
320 you actually use it or not. First setup your /etc/ax25/axports,
328 ifconfig scc3 44.128.1.1 hw ax25 dl0tha-9
344 ifconfig scc3 hw ax25 dl0tha-9
416 the kissparms program from the ax25-utils package or use the program
Dbaycom.txt83 sethdlc from the ax25 utilities may be used to set driver states etc.
85 in the ax25 utilities package) to convert packets of a network interface
/linux-2.4.37.9/net/
DMakefile41 subdir-$(CONFIG_AX25) += ax25
/linux-2.4.37.9/include/net/
Dnetrom.h81 ax25_cb *ax25; member
Drose.h86 ax25_cb *ax25; member

12