forked from rpodgorny/xotd
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
140 lines (92 loc) · 4.85 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
README
Information about the xotd package
Stephane Fillod's Original README as is - Shaun July 2007
Notes
-----
This is xotd 0.04, the third release of the XOT daemon for Linux.
Please test it as much as possible and report me success stories!
I'd be interested to hear about tests with Cisco routers, and other XOT
implementation like SUNlink.
You need recent kernel 2.1.1xx or later to use this program. This program
should compile cleanly with either libc5 and glibc (please send
me reports).
xotd requires the x25tap patch to be applied to the kernel (2.1.115+).
With this patch, it is possible to have an X.25 device driver in
user land, and build bridging systems. x25tap is cloned from ethertap.
cd /usr/src
patch -p0 < x25tap.diff
So rebuild your patched kernel with the following options:
Kernel/User netlink socket (CONFIG_NETLINK) [Y/n/?]
CCITT X.25 Packet Layer (EXPERIMENTAL) (CONFIG_X25) [M/n/y/?]
X.25tap network tap (CONFIG_X25TAP) [M/n/y/?]
Next, to compile xotd, just type "make". Since xotd is a multithreaded program,
the LinuxThreads library must be installed (builtin glibc-2.x).
[ Programming discussion:
xotd could be coded as a monothreaded program, but IMHO, a select on more
than 30 sockets and is not very efficient, and waiting to read entirely a big
packet waste to much time. Buffering is rather painfull. fork()ing would be
much simpler, but sharing the hash table wouldn't be easy.
To my mind, the multithreaded program is a good compromise, and
obviously, the best solution would be to code xotd as a kernel thread
and get rid of x25tap. It's not for tomorrow, but maybe for the day after
tomorrow :-)
End of discussion ]
There is a patch also for X.25 support in net-tools. The patch was
made for net-tools 1.45, so expect it to be merged by the following
releases.
x25-utils should work too, but is obsoleted by the previous patch.
For people having Cisco routers, here is a mail from Pasi, which
explain how XOT works:
From: Pasi Kaara <ppk@atk.tpo.fi>
Date: Sat, 19 Aug 95 14:09:44 EETDST
Normal use of XOT
host ---x.25-line---[CISCO]--WAN/LAN link (TCP/IP)--[CISCO]---x.25-line-- host
With rfc1613 software on Linux:
Linux ---LAN---[CISCO]--x.25--line (serial)
On the cisco side your configuration is like:
-------------
x25 route 244123456.* ip <ip-number of linux machine>
-------------
Only ONE line!
You can use also normal IP-access-lists to controll access to XOT port.
On the Linux side, here is how to add a default route:
insmod x25tap
ifconfig x25tap0 up
xotd x25tap0 <ip-number of Cisco router>
route --x25 add 0/0 x25tap0
Don't forget to insert x25 and x25tap modules before (if compiled as modules).
xotd can also work in "loopback", that is working on a stand alone machine,
but you will be connected only with yourself! It is only for debugging
purpose, or to play with X.25 sockets (educational purpose, etc.).
Even if the command "xotd x25tap0 localhost" works, the X.25 stack
would be in collision because of the LCI numbers.
So, the workaround for XOT loopback, is the following:
insmod x25tap
ifconfig x25tap0 up
route --x25 add 123/3 x25tap0
insmod -o x25tap1 x25tap unit=1
ifconfig x25tap1 up
route --x25 add 2080/4 x25tap1
xotd -l 1999 x25tap0 localhost & xotd -r 1999 x25tap1 localhost &
This trick is not supported, and should be used only for debugging purposes!
Have fun with it, and please report bugs, success stories, patches; I'd
really appreciate!
Stephane Fillod
sfillod@charybde.gyptis.frmug.org
8 January 1999
README from Denis Zavgorodny
Thank you for developing this program.
This, very necessary software for me, was finalized and rolled for my purposes.
This software is tested for RHEL Server release 5.3 beta kernel 2.6.18-120.el5. with another such same server.
Hardware information: Dell PowerEdge T410,Intel® Xeon® 5500 2.53 GHz 12MB 4 core, RAM 4 GB, BroadCom NetXtreme II Gigabit Ethernet.
Test results:
- baud rate over a single connection X.25 (packet length 256 bytes, window 7) - 6.8 Mbps.
- total transfer rate for many parallel connections It is limited by Ethernet speed (100Mbit,) and is
60 Mbit/s with packet length 256 bytes, window 7
80 Mbit/s with packet length 1024, window 7
Limit on the maximum number of virtual connections - 300 is due to the maximum amount of virtual memory in one process in
32 bit Linux OS version - 3 gigabytes. XOTd multithreaded server application (pthreads). One stream is allocated 10 megabytes of virtual
memory on the stack. Total 10MB for 300 streams is 3 GB. If necessary, this limitation can be removed, or by reducing the
amount of memory per thread (using ulimit in init script), or using a 64-bit version of the Linux OS.
Goodbye! (all claims to English to google translator ;)
2018