Home
last modified time | relevance | path

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

12

/Linux-v4.19/net/ax25/
Dax25_std_in.c42 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
46 ax25->modulus = AX25_MODULUS; in ax25_std_state1_machine()
47 ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; in ax25_std_state1_machine()
48 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_std_state1_machine()
52 ax25->modulus = AX25_EMODULUS; in ax25_std_state1_machine()
53 ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; in ax25_std_state1_machine()
54 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_std_state1_machine()
58 ax25_send_control(ax25, AX25_DM, pf, AX25_RESPONSE); in ax25_std_state1_machine()
63 ax25_calculate_rtt(ax25); in ax25_std_state1_machine()
64 ax25_stop_t1timer(ax25); in ax25_std_state1_machine()
[all …]
Dax25_ds_in.c35 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
39 ax25->modulus = AX25_MODULUS; in ax25_ds_state1_machine()
40 ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; in ax25_ds_state1_machine()
41 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_ds_state1_machine()
45 ax25->modulus = AX25_EMODULUS; in ax25_ds_state1_machine()
46 ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; in ax25_ds_state1_machine()
47 ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); in ax25_ds_state1_machine()
51 ax25_send_control(ax25, AX25_DM, pf, AX25_RESPONSE); in ax25_ds_state1_machine()
55 ax25_calculate_rtt(ax25); in ax25_ds_state1_machine()
56 ax25_stop_t1timer(ax25); in ax25_ds_state1_machine()
[all …]
Dax25_std_timer.c32 void ax25_std_heartbeat_expiry(ax25_cb *ax25) in ax25_std_heartbeat_expiry() argument
34 struct sock *sk = ax25->sk; in ax25_std_heartbeat_expiry()
39 switch (ax25->state) { in ax25_std_heartbeat_expiry()
49 ax25_destroy_socket(ax25); in ax25_std_heartbeat_expiry()
54 ax25_destroy_socket(ax25); in ax25_std_heartbeat_expiry()
67 (ax25->condition & AX25_COND_OWN_RX_BUSY)) { in ax25_std_heartbeat_expiry()
68 ax25->condition &= ~AX25_COND_OWN_RX_BUSY; in ax25_std_heartbeat_expiry()
69 ax25->condition &= ~AX25_COND_ACK_PENDING; in ax25_std_heartbeat_expiry()
70 ax25_send_control(ax25, AX25_RR, AX25_POLLOFF, AX25_RESPONSE); in ax25_std_heartbeat_expiry()
79 ax25_start_heartbeat(ax25); in ax25_std_heartbeat_expiry()
[all …]
Dax25_timer.c42 void ax25_setup_timers(ax25_cb *ax25) in ax25_setup_timers() argument
44 timer_setup(&ax25->timer, ax25_heartbeat_expiry, 0); in ax25_setup_timers()
45 timer_setup(&ax25->t1timer, ax25_t1timer_expiry, 0); in ax25_setup_timers()
46 timer_setup(&ax25->t2timer, ax25_t2timer_expiry, 0); in ax25_setup_timers()
47 timer_setup(&ax25->t3timer, ax25_t3timer_expiry, 0); in ax25_setup_timers()
48 timer_setup(&ax25->idletimer, ax25_idletimer_expiry, 0); in ax25_setup_timers()
51 void ax25_start_heartbeat(ax25_cb *ax25) in ax25_start_heartbeat() argument
53 mod_timer(&ax25->timer, jiffies + 5 * HZ); in ax25_start_heartbeat()
56 void ax25_start_t1timer(ax25_cb *ax25) in ax25_start_t1timer() argument
58 mod_timer(&ax25->t1timer, jiffies + ax25->t1); in ax25_start_t1timer()
[all …]
Dax25_ds_timer.c71 ax25_cb *ax25; in ax25_ds_timeout() local
82 ax25_for_each(ax25, &ax25_list) { in ax25_ds_timeout()
83 if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) in ax25_ds_timeout()
86 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_timeout()
87 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_timeout()
94 void ax25_ds_heartbeat_expiry(ax25_cb *ax25) in ax25_ds_heartbeat_expiry() argument
96 struct sock *sk=ax25->sk; in ax25_ds_heartbeat_expiry()
101 switch (ax25->state) { in ax25_ds_heartbeat_expiry()
112 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
117 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
[all …]
Dax25_subr.c36 void ax25_clear_queues(ax25_cb *ax25) in ax25_clear_queues() argument
38 skb_queue_purge(&ax25->write_queue); in ax25_clear_queues()
39 skb_queue_purge(&ax25->ack_queue); in ax25_clear_queues()
40 skb_queue_purge(&ax25->reseq_queue); in ax25_clear_queues()
41 skb_queue_purge(&ax25->frag_queue); in ax25_clear_queues()
49 void ax25_frames_acked(ax25_cb *ax25, unsigned short nr) in ax25_frames_acked() argument
56 if (ax25->va != nr) { in ax25_frames_acked()
57 while (skb_peek(&ax25->ack_queue) != NULL && ax25->va != nr) { in ax25_frames_acked()
58 skb = skb_dequeue(&ax25->ack_queue); in ax25_frames_acked()
60 ax25->va = (ax25->va + 1) % ax25->modulus; in ax25_frames_acked()
[all …]
Dax25_out.c38 ax25_cb *ax25; in ax25_send_frame() local
54 if ((ax25 = ax25_find_cb(src, dest, digi, dev)) != NULL) { in ax25_send_frame()
55 ax25_output(ax25, paclen, skb); in ax25_send_frame()
56 return ax25; /* It already existed */ in ax25_send_frame()
62 if ((ax25 = ax25_create_cb()) == NULL) in ax25_send_frame()
65 ax25_fillin_cb(ax25, ax25_dev); in ax25_send_frame()
67 ax25->source_addr = *src; in ax25_send_frame()
68 ax25->dest_addr = *dest; in ax25_send_frame()
71 ax25->digipeat = kmemdup(digi, sizeof(*digi), GFP_ATOMIC); in ax25_send_frame()
72 if (ax25->digipeat == NULL) { in ax25_send_frame()
[all …]
Dax25_std_subr.c33 void ax25_std_nr_error_recovery(ax25_cb *ax25) in ax25_std_nr_error_recovery() argument
35 ax25_std_establish_data_link(ax25); in ax25_std_nr_error_recovery()
38 void ax25_std_establish_data_link(ax25_cb *ax25) in ax25_std_establish_data_link() argument
40 ax25->condition = 0x00; in ax25_std_establish_data_link()
41 ax25->n2count = 0; in ax25_std_establish_data_link()
43 if (ax25->modulus == AX25_MODULUS) in ax25_std_establish_data_link()
44 ax25_send_control(ax25, AX25_SABM, AX25_POLLON, AX25_COMMAND); in ax25_std_establish_data_link()
46 ax25_send_control(ax25, AX25_SABME, AX25_POLLON, AX25_COMMAND); in ax25_std_establish_data_link()
48 ax25_calculate_t1(ax25); in ax25_std_establish_data_link()
49 ax25_stop_idletimer(ax25); in ax25_std_establish_data_link()
[all …]
Daf_ax25.c66 static void ax25_cb_del(ax25_cb *ax25) in ax25_cb_del() argument
68 if (!hlist_unhashed(&ax25->ax25_node)) { in ax25_cb_del()
70 hlist_del_init(&ax25->ax25_node); in ax25_cb_del()
72 ax25_cb_put(ax25); in ax25_cb_del()
143 void ax25_cb_add(ax25_cb *ax25) in ax25_cb_add() argument
146 ax25_cb_hold(ax25); in ax25_cb_add()
147 hlist_add_head(&ax25->ax25_node, &ax25_list); in ax25_cb_add()
273 ax25_cb *ax25 = from_timer(ax25, t, dtimer); in ax25_destroy_timer() local
276 sk=ax25->sk; in ax25_destroy_timer()
280 ax25_destroy_socket(ax25); in ax25_destroy_timer()
[all …]
Dax25_ds_subr.c31 void ax25_ds_nr_error_recovery(ax25_cb *ax25) in ax25_ds_nr_error_recovery() argument
33 ax25_ds_establish_data_link(ax25); in ax25_ds_nr_error_recovery()
39 void ax25_ds_enquiry_response(ax25_cb *ax25) in ax25_ds_enquiry_response() argument
66 ax25_std_enquiry_response(ax25); in ax25_ds_enquiry_response()
68 if (!(ax25->condition & AX25_COND_PEER_RX_BUSY)) { in ax25_ds_enquiry_response()
69 ax25_requeue_frames(ax25); in ax25_ds_enquiry_response()
70 ax25_kick(ax25); in ax25_ds_enquiry_response()
73 …if (ax25->state == AX25_STATE_1 || ax25->state == AX25_STATE_2 || skb_peek(&ax25->ack_queue) != NU… in ax25_ds_enquiry_response()
74 ax25_ds_t1_timeout(ax25); in ax25_ds_enquiry_response()
76 ax25->n2count = 0; in ax25_ds_enquiry_response()
[all …]
Dax25_in.c37 static int ax25_rx_fragment(ax25_cb *ax25, struct sk_buff *skb) in ax25_rx_fragment() argument
41 if (ax25->fragno != 0) { in ax25_rx_fragment()
43 if ((ax25->fragno - 1) == (*skb->data & AX25_SEG_REM)) { in ax25_rx_fragment()
45 ax25->fragno = *skb->data & AX25_SEG_REM; in ax25_rx_fragment()
47 ax25->fraglen += skb->len; in ax25_rx_fragment()
48 skb_queue_tail(&ax25->frag_queue, skb); in ax25_rx_fragment()
51 if (ax25->fragno == 0) { in ax25_rx_fragment()
53 ax25->fraglen, in ax25_rx_fragment()
56 skb_queue_purge(&ax25->frag_queue); in ax25_rx_fragment()
62 skbn->dev = ax25->ax25_dev->dev; in ax25_rx_fragment()
[all …]
DMakefile6 obj-$(CONFIG_AX25) += ax25.o
8 ax25-y := ax25_addr.o ax25_dev.o ax25_iface.o ax25_in.o ax25_ip.o ax25_out.o \
11 ax25-$(CONFIG_AX25_DAMA_SLAVE) += ax25_ds_in.o ax25_ds_subr.o ax25_ds_timer.o
12 ax25-$(CONFIG_SYSCTL) += sysctl_net_ax25.o
Dax25_route.c397 int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr) in ax25_rt_autobind() argument
406 if ((ax25->ax25_dev = ax25_dev_ax25dev(ax25_rt->dev)) == NULL) { in ax25_rt_autobind()
413 ax25->source_addr = user->call; in ax25_rt_autobind()
420 ax25->source_addr = *(ax25_address *)ax25->ax25_dev->dev->dev_addr; in ax25_rt_autobind()
424 ax25->digipeat = kmemdup(ax25_rt->digipeat, sizeof(ax25_digi), in ax25_rt_autobind()
426 if (ax25->digipeat == NULL) { in ax25_rt_autobind()
430 ax25_adjust_path(addr, ax25->digipeat); in ax25_rt_autobind()
433 if (ax25->sk != NULL) { in ax25_rt_autobind()
434 bh_lock_sock(ax25->sk); in ax25_rt_autobind()
435 sock_reset_flag(ax25->sk, SOCK_ZAPPED); in ax25_rt_autobind()
[all …]
Dax25_ip.c111 ax25_cb *ax25; in ax25_ip_xmit() local
175 ax25=ax25_send_frame( in ax25_ip_xmit()
180 if (ax25) { in ax25_ip_xmit()
181 ax25_cb_put(ax25); in ax25_ip_xmit()
DKconfig12 <http://www.linux-ax25.org/>.
42 check out the file <file:Documentation/networking/ax25.txt> in the
48 module will be called ax25.
63 <http://www.linux-ax25.org>. If unsure, say Y.
89 <http://www.linux-ax25.org>. You also might want to check out the
90 file <file:Documentation/networking/ax25.txt>. More information about
108 <http://www.linux-ax25.org>. You also might want to check out the
109 file <file:Documentation/networking/ax25.txt>. More information about
Dax25_iface.c193 void ax25_link_failed(ax25_cb *ax25, int reason) in ax25_link_failed() argument
199 lf->func(ax25, reason); in ax25_link_failed()
/Linux-v4.19/net/netrom/
Dnr_route.c101 ax25_address *ax25, ax25_digi *ax25_digi, struct net_device *dev, in nr_add_node() argument
116 nr_neigh = nr_neigh_get_dev(ax25, dev); in nr_add_node()
155 nr_neigh->callsign = *ax25; in nr_add_node()
157 nr_neigh->ax25 = NULL; in nr_add_node()
184 if (quality != 0 && ax25cmp(nr, ax25) == 0 && !nr_neigh->locked) in nr_add_node()
402 nr_neigh->ax25 = NULL; in nr_add_neigh()
709 void nr_link_failed(ax25_cb *ax25, int reason) in nr_link_failed() argument
716 if (s->ax25 == ax25) { in nr_link_failed()
727 nr_neigh->ax25 = NULL; in nr_link_failed()
728 ax25_cb_put(ax25); in nr_link_failed()
[all …]
/Linux-v4.19/net/rose/
Drose_link.c108 ax25s = neigh->ax25; in rose_send_frame()
109 neigh->ax25 = ax25_send_frame(skb, 260, rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); in rose_send_frame()
113 return neigh->ax25 != NULL; in rose_send_frame()
131 ax25s = neigh->ax25; in rose_link_up()
132 neigh->ax25 = ax25_find_cb(rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); in rose_link_up()
136 return neigh->ax25 != NULL; in rose_link_up()
Drose_route.c96 rose_neigh->ax25 = NULL; in rose_add_node()
240 if (rose_neigh->ax25) in rose_remove_neigh()
241 ax25_cb_put(rose_neigh->ax25); in rose_remove_neigh()
250 if (rose_neigh->ax25) in rose_remove_neigh()
251 ax25_cb_put(rose_neigh->ax25); in rose_remove_neigh()
383 sn->ax25 = NULL; in rose_add_loopback_neigh()
813 void rose_link_failed(ax25_cb *ax25, int reason) in rose_link_failed() argument
820 if (rose_neigh->ax25 == ax25) in rose_link_failed()
826 rose_neigh->ax25 = NULL; in rose_link_failed()
827 ax25_cb_put(ax25); in rose_link_failed()
[all …]
/Linux-v4.19/include/net/
Dax25.h171 #define ax25_uid_hold(ax25) \ argument
172 refcount_inc(&((ax25)->refcount))
273 static __inline__ void ax25_cb_put(ax25_cb *ax25) in ax25_cb_put() argument
275 if (refcount_dec_and_test(&ax25->refcount)) { in ax25_cb_put()
276 kfree(ax25->digipeat); in ax25_cb_put()
277 kfree(ax25); in ax25_cb_put()
Dnetrom.h92 ax25_cb *ax25; member
139 if (nr_neigh->ax25) in nr_neigh_put()
140 ax25_cb_put(nr_neigh->ax25); in nr_neigh_put()
/Linux-v4.19/drivers/net/hamradio/
DKconfig76 <http://www.linux-ax25.org/wiki/Ax25-tools>. Please be sure to
127 utility available in the standard ax25 utilities package. For
144 the driver, use the sethdlc utility available in the standard ax25
160 available in the standard ax25 utilities package. For information on
175 in the standard ax25 utilities package. For information on the
/Linux-v4.19/Documentation/networking/
Dax25.txt4 found on http://www.linux-ax25.org.
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
/Linux-v4.19/net/
DMakefile33 obj-$(CONFIG_AX25) += ax25/

12