Version 0.2 to 0.3 (8-SEP-1995)
==================

Bug fixes
---------

 - select(2) didn't work (was sleeping on sock->wait instead of
   &ATM_SD(sock)->sleep)
 - ENI driver did allow binding to VPI/VCI already in use
 - ENI driver now properly handles PDUs with CRC errors
 - ENI driver had race condition when discarding PDUs causing new PDUs to be
   shifted in adapter memory by one word (which confused the driver quite a
   bit)
 - ENI driver now enables VC _after_ setting all pointers (caused crashes if
   data was already coming in while opening VC)
 - various bugs fixes related to SVC sockets
 - fixed GPF (in kernel) when running atmdiag without arguments
 - atmdiag now left-adjusts interface names
 - fixed ttcp.atm crash when not specifying vpi.vci
 - clip_xmit now checks for NULL vcc (e.g. after failure to connect)

New features
------------

 - zatm driver now reads ESI correctly
 - blocking svc_connect is now interruptible
 - atmdump now also displays the numeric PTI value of incoming cells
 - added RX/TX buffer quotas (default is 64 kB)
 - added OAM hooks to device driver interface (but there's no OAM support yet)

Other changes
-------------

 - ENI driver now checks ID field of reassembly buffer descriptors
 - ENI driver now uses vremap
 - ENI driver now prints more useful physical layer type information (e.g.
   "MMF" and "UTP" instead of "UTOPIA")
 - some redesign of the protocol used for signaling between kernel and demon
 - disabled "Grr, servicing VCC twice" message in ENI driver
 - device drivers now have to adapt AAL0 cell header byte order
 - some cleanup in common.c:atm_getsockopt
 - device drivers are now required to use the peek function; protocols now
   must provide it


Version 0.1 to 0.2 (15-AUG-1995)
==================

Bug fixes
---------

 - VCC family field is now correctly set to protocol family in
   common.c:atm_create (was pvc.c:pvc_create). With protocol set to zero,
   this created all types of strange problems, because the family field
   is used to indicate whether an VCC slot is busy/free.
 - fixed race condition in common.c:atm_read (reader might have blocked
   even if data is ready)
 - fixed dereferencing of uninitialized skb->dev pointer in
   clip.c:atm_push_clip
 - SIOCSIFATMTCP now refuses to attach the same socket twice
 - zatm.c: fixed setting of the VPI/VCI mask
 - USAGE said ttcp uses -B for the bandwidth, but it's -P
 - mkdist didn't include man pages

New features
------------

 - added some /proc/atm functionality
 - added support for ATM_{VPI,VCI}_ANY
 - SIOCSIFATMTCP now returns the interface number and atmtcp(8) prints it
 - wrote atmtcp man page
 - added kernel part of SVC support

Other changes
-------------

 - common.c: only root is now allowed to bind to reserved VCIs
 - Classical IP interfaces are now removed by downing by ifconfig; clip(8)
   returns immediately
 - PVC-connect for non-existing device now returns ENODEV instead of EINVAL
 - new field (type) in struct atm_dev to indicate device type
 - moved getsockopt(SO_CIRANGE) to common.c (removed atmtcp's own version)
 - added ci_range to struct atm_dev (and removed it from atmtcp's private
   structure)
 - added code to read the ESI to zatm.c (but that code doesn't seem to work
   yet)
