Home
last modified time | relevance | path

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

/linux-4.1.27/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()
48 ax25_destroy_socket(ax25); in ax25_std_heartbeat_expiry()
52 ax25_destroy_socket(ax25); in ax25_std_heartbeat_expiry()
65 (ax25->condition & AX25_COND_OWN_RX_BUSY)) { in ax25_std_heartbeat_expiry()
66 ax25->condition &= ~AX25_COND_OWN_RX_BUSY; in ax25_std_heartbeat_expiry()
67 ax25->condition &= ~AX25_COND_ACK_PENDING; in ax25_std_heartbeat_expiry()
68 ax25_send_control(ax25, AX25_RR, AX25_POLLOFF, AX25_RESPONSE); in ax25_std_heartbeat_expiry()
77 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 setup_timer(&ax25->timer, ax25_heartbeat_expiry, (unsigned long)ax25); in ax25_setup_timers()
45 setup_timer(&ax25->t1timer, ax25_t1timer_expiry, (unsigned long)ax25); in ax25_setup_timers()
46 setup_timer(&ax25->t2timer, ax25_t2timer_expiry, (unsigned long)ax25); in ax25_setup_timers()
47 setup_timer(&ax25->t3timer, ax25_t3timer_expiry, (unsigned long)ax25); in ax25_setup_timers()
48 setup_timer(&ax25->idletimer, ax25_idletimer_expiry, in ax25_setup_timers()
49 (unsigned long)ax25); in ax25_setup_timers()
52 void ax25_start_heartbeat(ax25_cb *ax25) in ax25_start_heartbeat() argument
54 mod_timer(&ax25->timer, jiffies + 5 * HZ); in ax25_start_heartbeat()
57 void ax25_start_t1timer(ax25_cb *ax25) in ax25_start_t1timer() argument
[all …]
Dax25_ds_timer.c72 ax25_cb *ax25; in ax25_ds_timeout() local
83 ax25_for_each(ax25, &ax25_list) { in ax25_ds_timeout()
84 if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) in ax25_ds_timeout()
87 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_timeout()
88 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_timeout()
95 void ax25_ds_heartbeat_expiry(ax25_cb *ax25) in ax25_ds_heartbeat_expiry() argument
97 struct sock *sk=ax25->sk; in ax25_ds_heartbeat_expiry()
102 switch (ax25->state) { in ax25_ds_heartbeat_expiry()
112 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
116 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
[all …]
Dax25_out.c39 ax25_cb *ax25; in ax25_send_frame() local
55 if ((ax25 = ax25_find_cb(src, dest, digi, dev)) != NULL) { in ax25_send_frame()
56 ax25_output(ax25, paclen, skb); in ax25_send_frame()
57 return ax25; /* It already existed */ in ax25_send_frame()
63 if ((ax25 = ax25_create_cb()) == NULL) in ax25_send_frame()
66 ax25_fillin_cb(ax25, ax25_dev); in ax25_send_frame()
68 ax25->source_addr = *src; in ax25_send_frame()
69 ax25->dest_addr = *dest; in ax25_send_frame()
72 ax25->digipeat = kmemdup(digi, sizeof(*digi), GFP_ATOMIC); in ax25_send_frame()
73 if (ax25->digipeat == NULL) { in ax25_send_frame()
[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_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.c67 static void ax25_cb_del(ax25_cb *ax25) in ax25_cb_del() argument
69 if (!hlist_unhashed(&ax25->ax25_node)) { in ax25_cb_del()
71 hlist_del_init(&ax25->ax25_node); in ax25_cb_del()
73 ax25_cb_put(ax25); in ax25_cb_del()
144 void ax25_cb_add(ax25_cb *ax25) in ax25_cb_add() argument
147 ax25_cb_hold(ax25); in ax25_cb_add()
148 hlist_add_head(&ax25->ax25_node, &ax25_list); in ax25_cb_add()
274 ax25_cb *ax25=(ax25_cb *)data; in ax25_destroy_timer() local
277 sk=ax25->sk; in ax25_destroy_timer()
281 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.c38 static int ax25_rx_fragment(ax25_cb *ax25, struct sk_buff *skb) in ax25_rx_fragment() argument
42 if (ax25->fragno != 0) { in ax25_rx_fragment()
44 if ((ax25->fragno - 1) == (*skb->data & AX25_SEG_REM)) { in ax25_rx_fragment()
46 ax25->fragno = *skb->data & AX25_SEG_REM; in ax25_rx_fragment()
48 ax25->fraglen += skb->len; in ax25_rx_fragment()
49 skb_queue_tail(&ax25->frag_queue, skb); in ax25_rx_fragment()
52 if (ax25->fragno == 0) { in ax25_rx_fragment()
54 ax25->fraglen, in ax25_rx_fragment()
57 skb_queue_purge(&ax25->frag_queue); in ax25_rx_fragment()
63 skbn->dev = ax25->ax25_dev->dev; in ax25_rx_fragment()
[all …]
DMakefile5 obj-$(CONFIG_AX25) += ax25.o
7 ax25-y := ax25_addr.o ax25_dev.o ax25_iface.o ax25_in.o ax25_ip.o ax25_out.o \
10 ax25-$(CONFIG_AX25_DAMA_SLAVE) += ax25_ds_in.o ax25_ds_subr.o ax25_ds_timer.o
11 ax25-$(CONFIG_SYSCTL) += sysctl_net_ax25.o
Dax25_route.c411 int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr) in ax25_rt_autobind() argument
420 if ((ax25->ax25_dev = ax25_dev_ax25dev(ax25_rt->dev)) == NULL) { in ax25_rt_autobind()
427 ax25->source_addr = user->call; in ax25_rt_autobind()
434 ax25->source_addr = *(ax25_address *)ax25->ax25_dev->dev->dev_addr; in ax25_rt_autobind()
438 ax25->digipeat = kmemdup(ax25_rt->digipeat, sizeof(ax25_digi), in ax25_rt_autobind()
440 if (ax25->digipeat == NULL) { in ax25_rt_autobind()
444 ax25_adjust_path(addr, ax25->digipeat); in ax25_rt_autobind()
447 if (ax25->sk != NULL) { in ax25_rt_autobind()
448 bh_lock_sock(ax25->sk); in ax25_rt_autobind()
449 sock_reset_flag(ax25->sk, SOCK_ZAPPED); in ax25_rt_autobind()
[all …]
Dax25_ip.c112 ax25_cb *ax25; in ax25_ip_xmit() local
176 ax25=ax25_send_frame( in ax25_ip_xmit()
181 if (ax25) { in ax25_ip_xmit()
182 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-4.1.27/net/netrom/
Dnr_route.c89 ax25_address *ax25, ax25_digi *ax25_digi, struct net_device *dev, in nr_add_node() argument
105 nr_neigh = nr_neigh_get_dev(ax25, dev); in nr_add_node()
144 nr_neigh->callsign = *ax25; in nr_add_node()
146 nr_neigh->ax25 = NULL; in nr_add_node()
173 if (quality != 0 && ax25cmp(nr, ax25) == 0 && !nr_neigh->locked) in nr_add_node()
428 nr_neigh->ax25 = NULL; in nr_add_neigh()
734 void nr_link_failed(ax25_cb *ax25, int reason) in nr_link_failed() argument
741 if (s->ax25 == ax25) { in nr_link_failed()
752 nr_neigh->ax25 = NULL; in nr_link_failed()
753 ax25_cb_put(ax25); in nr_link_failed()
[all …]
/linux-4.1.27/net/rose/
Drose_link.c111 ax25s = neigh->ax25; in rose_send_frame()
112 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()
134 ax25s = neigh->ax25; in rose_link_up()
135 neigh->ax25 = ax25_find_cb(rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); in rose_link_up()
139 return neigh->ax25 != NULL; in rose_link_up()
Drose_route.c97 rose_neigh->ax25 = NULL; in rose_add_node()
241 if (rose_neigh->ax25) in rose_remove_neigh()
242 ax25_cb_put(rose_neigh->ax25); in rose_remove_neigh()
251 if (rose_neigh->ax25) in rose_remove_neigh()
252 ax25_cb_put(rose_neigh->ax25); in rose_remove_neigh()
383 sn->ax25 = NULL; in rose_add_loopback_neigh()
812 void rose_link_failed(ax25_cb *ax25, int reason) in rose_link_failed() argument
819 if (rose_neigh->ax25 == ax25) in rose_link_failed()
825 rose_neigh->ax25 = NULL; in rose_link_failed()
826 ax25_cb_put(ax25); in rose_link_failed()
[all …]
/linux-4.1.27/include/net/
Dax25.h168 #define ax25_uid_hold(ax25) \ argument
169 atomic_inc(&((ax25)->refcount))
257 static __inline__ void ax25_cb_put(ax25_cb *ax25) in ax25_cb_put() argument
259 if (atomic_dec_and_test(&ax25->refcount)) { in ax25_cb_put()
260 kfree(ax25->digipeat); in ax25_cb_put()
261 kfree(ax25); in ax25_cb_put()
Dnetrom.h89 ax25_cb *ax25; member
136 if (nr_neigh->ax25) in nr_neigh_put()
137 ax25_cb_put(nr_neigh->ax25); in nr_neigh_put()
Drose.h94 ax25_cb *ax25; member
/linux-4.1.27/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-4.1.27/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
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
D00-INDEX33 ax25.txt
/linux-4.1.27/net/
DMakefile31 obj-$(CONFIG_AX25) += ax25/
DKconfig345 source "net/ax25/Kconfig"
/linux-4.1.27/Documentation/isdn/
DREADME.x25144 ftp://ftp.hes.iki.fi/pub/ham/linux/ax25/x25utils-*
145 (don't confuse the x25-utils with the ax25-utils)
/linux-4.1.27/Documentation/sysctl/
Dnet.txt24 802 E802 protocol ax25 AX25
/linux-4.1.27/include/uapi/linux/
DKbuild65 header-y += ax25.h
/linux-4.1.27/
DMAINTAINERS1909 W: http://www.linux-ax25.org/
1911 F: include/uapi/linux/ax25.h
1912 F: include/net/ax25.h
1913 F: net/ax25/
3019 F: net/ax25/af_ax25.c
3020 F: net/ax25/ax25_dev.c
3021 F: net/ax25/ax25_ds_*
3022 F: net/ax25/ax25_in.c
3023 F: net/ax25/ax25_out.c
3024 F: net/ax25/ax25_timer.c
[all …]
DCREDITS834 D: ax25-utils maintainer.