OSDN Git Service

Fix no pic
[uclinux-h8/uClinux-dist.git] / user / vconfig / CHANGELOG
1 This file should be prepended to each time a release is made.
2
3 Date:            March 24, 2002
4 Version:         1.6
5 Kernel Version:  2.4.14+
6 Changes:         Removed 2.4 kernel patch from VLAN distribution..it's now in the
7                  standard linux kernel.  Other updates include vconfig changes
8                  to fix some compile problems, and to enable cross-compiling to
9                  ARM (this assumes you are using the Intrinsyc cross-compiler in
10                  it's standard location).
11
12
13
14 Date:            Oct 20, 2001
15 Version:         1.5
16 Kernel Version:  2.4.12-pre5
17 Changes:
18                  Mostly added other peoples fixes and patches (thanks folks!)
19                  Finally fixed mc-list leakage (Ard van Breemen)
20                  Flush mc-list at vlan-destory (Ard van Breemen)
21                  Add vconfig man page to distribution (Ard van Breemen)
22                  Fix problem with /proc and renaming VLAN devices (af AT devcon D.T net)
23                  Add relatively large change by Nick Eggelston that makes VLAN
24                     devices more transparent to tools like tcpdump and other raw
25                     packet snoopers.  This will only be enabled when the REORDER_HDR
26                     flag is set.
27
28
29 Date:            August 16, 2001
30 Version:         1.4
31 Kernel Version:  2.4.9-pre4
32 Status:          Should be stable, but a decent amount of rework went into
33                  this one...
34 Changes:         
35                  Code should no longer require /proc interface in order to
36                  get at the IOCTLs. The IOCTLs are now tied to sockets.
37                  When using modules, it may auto-load now, too...
38
39                  Fixed format string error in proc fs display.
40
41                  Fixed crash bug relating to memory allocation with locks
42                  held (we now use GF_ATOMIC).
43
44                  hard_start_xmit will now grow the packet header if there
45                  is not enough headroom.  This may fix an MPLS-over-VLAN problem,
46                  though the real solution is to make MPLS allocate
47                  more headroom anyway...
48
49                  vconfig was changed to use the new IOCTL API, and the old
50                  vconfig WILL NOT WORK with this or any newer patches...
51
52
53 Date:            August 5, 2001
54 Version:         1.0.3
55 Kernel Version:  2.4.7
56 Status:          Should be stable, but a decent amount of rework went into
57                  this one...
58 Changes:         
59                  Re-worked code to comply with linux network code gurus'
60                  wishes.  This included several boundary case fixes, including
61                  some that could crash your kernel.
62
63                  The default naming scheme is eth0.5 now, for VID == 5 on
64                  eth0.  Use vconfig to change the naming scheme if you want.
65
66                  There were *NO* changes to the 2.2 series patch, and there
67                  probably won't be any more changes to it, ever!
68
69
70 Date:            April 16, 2001
71 Version:         1.0.1
72 Kernel Version:  2.2.18/19, 2.4.3-pre3
73 Status:          Very similar to 1.0.0, should be relatively stable.
74 Changes:         
75                  Incorporated a fix for changing a MAC on a VLAN, it now
76                  correctly sets PACKET_HOST.
77                    Thanks to Martin Bokaemper for this one.
78
79                  The 2.4 series patch should now compile as a module, thanks
80                  to a tweak from someone who's mail I have lost!  Anyway, 3
81                  cheers to the un-named coder!
82
83                  There were *NO* changes to the 2.2 series patch, though I did
84                  verify that it seems to work fine with the 2.2.19 kernel.
85
86
87
88 Date:            January 14, 2001
89 Version:         1.0.0
90 Kernel Version:  2.2.18, 2.4.0
91 Status:          Fairly similar to 0.0.15, should be relatively stable.
92 Changes:         
93
94                  Really fixed (and tested) MAC change-ability. When you set the
95                  MAC address on a VLAN, it will also attempt to set the underlying
96                  device to PROMISCious mode (otherwise, the VLAN will not
97                  receive any packets.) 
98
99                  Hashed-device lookup is disabled by default because some people
100                  had trouble with the 'lo' device. Please feel free to re-enable by
101                  editing the line in net/core/dev.
102                  (search for #define BEN_FAST_DEV_LOOKUP). 
103
104                  vconfig should warn when creating VLAN 1, because that VLAN is
105                  not compatible with many switches.
106
107
108 Date:            December 31, 2000
109 Version:         0.0.15
110 Kernel Version:  2.2.18, 2.4.prerelease
111 Status:          This one is pretty fresh..beware, especially the 2.4 patch.
112 Changes:         
113
114                  Merged most of Matti Aarnio's patches. This means no significant patch
115                  to eth.c now, and will help port VLANs to non-ethernet devices
116                  (ie ppp, TokenRing??).
117
118                  Setting the MAC address should work now..I think it was broken before.
119
120                  Miscellaneous code re-organization to make patches to existing files smaller. 
121
122
123 Date:            October 26, 2000
124 Version:         0.0.14
125 Kernel Version:  2.2.17, 2.4.pre9
126 Status:          Seems stable.
127 Changes:         
128                  Removed vlan-space-per-machine, so vlan-space-per-NIC is mandatory now.
129
130                  DHCP might work now, as I've added support for encapsulating regular ethernet
131                  frames if they are sent to the vlan driver.
132
133                  Fixed up the name/index hashing stuff to handle changing the name on a device.
134
135                  Took out default VID & default priority, as their usefullness was in question,
136                  and the code was broken anyway.
137
138
139 Date:            October 11, 2000
140 Version:         0.0.13
141 Kernel Version:  2.2.17, 2.4.pre9
142 Status:          BUSTED!!  Don't use it.
143 Changes:         
144                 Added support for MULTICAST to the VLAN devices. Thanks to
145                 Gleb & Co for most of that code. 
146         
147                 Added the ability to set the MAC address on the VLAN. For now,
148                 you'll either need to set your Ethernet NIC into PROMISC mode, or
149                 maybe figure out some multi-cast ethernet address to set on the
150                 NIC. This has not been tested well at all. 
151         
152                 Added a hashed device-name lookup scheme. This greatly speeds
153                 up ifconfig -a. I was able to run an ifconfig -a in 20 seconds on a
154                 Celeron 500, with 4000 vlan devices configured!! 
155         
156                 Added vlan_test.pl to help me find dumb bugs. Feel free to make this
157                 much more powerful, and send the code back to me! 
158         
159                 vconfig.c has been converted to C code now, instead of C++.
160                 Thanks to MATHIEU. 
161         
162                 Significantly cleaned up the code w/out decreasing any useful
163                 functionality, I believe.
164
165                 Removed the dhcp stuff from the VLAN distribution.
166
167
168 Date:            August 27, 2000
169 Version:         0.0.12
170 Kernel Version:  2.2.16, 2.4.pre7
171 Status:          This one turned out pretty stable, no known bugs.
172 Changes:         
173
174                 Added ability to re-order the VLAN packet so that it looks
175                 like a real ethernet packet for the ingress pathway.  This
176                 should help DHCP and other programs that insist on reading
177                 the raw buffer and then make assumptions about byte offsets.
178                 I don't have a good way to test this fully, so consider it
179                 experimental :)  This behavior can be changed at run-time,
180                 and is set on a per-VLAN basis.  The default is NOT to reorder
181                 the header, which has been the only behavior up untill this
182                 point.  The vconfig program can set/clear the flag, by using
183                 a VLAN IOCTL.  You can read the flag's value from  the
184                 /proc/net/vlan/vlan* files.
185                 
186                 You can also set a default priority on a NON-VLAN device.
187                 This priority will only be used when the default_VID for the
188                 device is set as well.  This priority won't be mapped anywhere,
189                 just copied straight into the skb->priority.  It is a uint16.
190
191                 The 2.3 patch is now the 2.4 patch, and it has been tested
192                 against 2.4.pre7.
193
194
195 Date:            April 23, 2000
196 Version:         0.0.11
197 Kernel Version:  2.2.13 & 2.2.14, 2.3.99
198 Status:          As of August 27, this seems like a very stable patch.
199 Changes:         
200                  Added real support for PRIORITY.  Through IOCTL calls (see the
201                  vconfig program), you can set explicit ingress and egress mappings
202                  to/from the VLAN QOS bits and the sk_buff->priority field.  This
203                  is not tested very well, as I don't know much about how people really
204                  use the priority field...  Took out the round-robin aggretation that
205                  went in in rls 0.10, as it was mainly just a hack, and doing link
206                  aggregation at a lower level and then putting VLAN on top of that
207                  virtual device probably makes more sense.  The vconfig program
208                  changed to support the new features..here's it's new usage:<br>
209
210         Usage: add             [interface-name] [vlan_id]
211                rem             [vlan-name]
212                set_dflt        [interface-name] [vlan_id]
213                add_port        [port-name]      [vlan_id]
214                rem_port        [port-name]      [vlan_id]
215                set_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]
216                set_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]
217                set_name_type   [name-type]
218                set_bind_mode   [bind-type]
219
220         * The [interface-name] is the name of the ethernet card that hosts
221           the VLAN you are talking about.
222         * The port-name is the name of the physical interface that a VLAN
223           may be attached to.
224         * The vlan_id is the identifier (0-4095) of the VLAN you are operating on.
225         * skb_priority is the priority in the socket buffer (sk_buff).
226         * vlan_qos is the 3 bit priority in the VLAN header
227         * name-type:  VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
228                       DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5)
229         * bind-type:  PER_DEVICE  # Allows vlan 5 on eth0 and eth1 to be unique.
230                       PER_KERNEL  # Forces vlan 5 to be unique across all devices.
231
232                  The 2.3 patches have been ported foward to 2.3.99, thanks to
233                  Patrick for the vlanproc.c updates!
234
235
236
237 Date:            February 26, 2000
238 Version:         0.0.10
239 Kernel Version:  2.2.13 & 2.2.14, 2.3.47
240 Status:          Added several new features in the critical path...beware!
241 Changes:         
242                  Added support for PRIORITY.  The way it works is that the lower
243                  3 bits of the skb->priority are set into the PRIORITY field in
244                  the VLAN header.  No special handling is done with priority,
245                  but it should be handled by other switches and such.  This has
246                  not been tested, but the default case (no priority in the skb)
247                  seems to work at least.
248
249                  The big change is that you can now aggregate several ethernet
250                  ports in a single VLAN.  The packets will be transmitted in a
251                  round robin fashion.  In order for this to work, you have
252                  to change the MAC addresses on all cards to the same thing,
253                  and put the cards in promiscious mode (because most drivers don't
254                  __really__ honor the request to set the MAC all the way to
255                  the NIC.  This works with two different speed NICs, but I think
256                  it will only be really useful if they are the same speed.  Here
257                  is how I set them up in my test environment:
258
259                 ifdown eth1
260                 ifconfig eth1 hw ether 00:40:05:41:00:5e  # This is the MAC of eth0
261                 ifup eth1
262         
263                 ifconfig eth1 promisc
264
265                 /usr/local/bin/vconfig add eth0 5
266                 /usr/local/bin/vconfig add_port eth1 5
267                 ifconfig vlan0005 192.168.2.1
268
269           On my other machine, I have this:
270                 ifdown eth1
271                 ifconfig eth1 hw ether 00:48:54:66:68:68  # This is the MAC of eth0
272                 ifup eth1
273
274                 ifconfig eth1 promisc
275
276                 /usr/local/bin/vconfig add eth0 5
277                 /usr/local/bin/vconfig add_port eth1 5
278                 ifconfig vlan0005 192.168.2.3
279
280                  Note that there are now two patches, one for the 2.2 series,
281                  and one for the 2.3 series.
282
283
284 Date:            February 6, 2000
285 Version:         0.0.9
286 Kernel Version:  2.2.13 & 2.2.14
287 Status:          Mostly solid.  May be issues with adding/removing, but it
288                  works at least most of the time.
289 Changes:         Changed the way vlan names are created:  They now have the
290                  VID in the name.  You can revert to the old behavior by
291                  changing an #define in the 802_18/vlan.h file.  Changed
292                  the destruction process for vlans.  Not sure if this fixed the
293                  kernel lock problem I found while adding/removing VLAN devices,
294                  and also hacking with DHCP, but the problem seemed to go away.
295                  Added patch to dhcp to allow it to work with VLANs.  However,
296                  I don't grok DHCP as well as might be desired, so use at your
297                  own risk!!  Added some debugging code (you have to compile
298                  it in if you need it)
299                  
300
301 Date:            December 22, 1999
302 Version:         0.0.8
303 Kernel Version:  2.2.13+
304 Status:          ARP seems to fail in certain cases (but not on my machines.)
305 Changes:         Fixed compile warnings and a linking problem due to #ifdef's.
306                  No major changes in functionality or performance.
307
308 Date:            December 5, 1999
309 Version:         0.0.7
310 Kernel Version:  2.2.13+
311 Status:          ARP seems to fail in certain cases (but not on my machines.)
312                  Several (many?) ethernet drivers can't handle the extra 4 bytes
313                  of VLAN, so the MTU on the network may have to be set to 1496,
314                  or fix the ethernet drivers!!
315 Changes:         Re-wrote the /proc code to never go above 4k buffers.  This means
316                  that each port now has it's own file entry.  Fixed crash bug with
317                  removing VLAN devices.  Byte and pkt counters are now updated correctly,
318                  and are found in the /proc/net/vlan/<device> file.
319
320
321 Date:            October 20, 1999
322 Version:         0.0.6
323 Kernel Version:  2.2.10+
324 Status:          ping -f still kills one of my machines, but it takes longer...and I'm
325                  not sure if its the fault of the VLAN code, or maybe some hardware problem.
326 Changes:         Coded around an extraneous skb alloc/free so that there should be no
327                  extra buffer copying as compared to an ethernet interface, unless the
328                  vlan device spans more than one interface.  Put #ifdef around all printk
329                  debugging calls, at least for non-control code (ie no more printk in the
330                  critical paths.)
331
332
333 Date:            October 19, 1999
334 Version:         0.0.6
335 Kernel Version:  2.2.10
336 Status:          Ping & FTP work, ping -f kills it after some time...not sure why yet.
337 Changes:         Got tcpdump working with VLAN pkts (use the -e option).  Got basic VLAN
338                  functionality working, though problems remain, including a KERNEL CRASH
339                  that can be induced by ping -f on one of the vlan interfaces.  My test
340                  setup consists of two linux boxes, each running my modified kernel.
341                  Since I have no third-party implementation to test against, it is likely
342                  the code is not too right yet!!
343                  Performance isn't all that great:  Running a Cyrix 155 <-> a Cyrix 233,
344                  connected through a 10bt hub, I get 910 Mbps on regular ethernet,
345                  and only 650 Mbps on the VLAN device.  This was using a 30 MB file.
346
347
348 Date:            Long time ago.
349 Version:         0.0.3
350 Kernel Version:  2.2.2
351 Status:          Definately broken, but lots of code in there!!
352 Changes:         Initial partially functional release (not very functional.)