diff -ur --new-file old/atm/BUGS new/atm/BUGS --- old/atm/BUGS Tue Feb 9 16:46:46 1999 +++ new/atm/BUGS Fri Feb 19 16:40:02 1999 @@ -1,4 +1,4 @@ -Known bugs and restrictions in version 0.53 +Known bugs and restrictions in version 0.54 =========================================== - ENI driver: closing an AAL0 socket while data is arriving at a high rate diff -ur --new-file old/atm/CHANGES new/atm/CHANGES --- old/atm/CHANGES Tue Feb 9 18:48:53 1999 +++ new/atm/CHANGES Fri Feb 19 18:00:11 1999 @@ -1,3 +1,39 @@ +Version 0.53 to 0.54 (19-FEB-1999) +==================== + +Bug fixes +--------- + + - led.new: fixed build problem and warning (Heikki Vatiainen) + - fixed LANE arp cache timeouts (Heikki Vatiainen) + - ilmid -i option fell through into -l, causing logging to go into a file + named after the local address + - flipping the highest bit of ep_ref made it negative which was erroneously + interpreted to mean "absent" (reported by Giuliano Procida and Chas + Williams) + - ilmid used the result of AsnOidCompare inconsistently, causing network + prefix registration to fail with some switches (based on a patch by Giuliano + Procida) + +New features +------------ + + - tc:q_atm: new option "clip" to select Classical IP processing of inbound + traffic + - new sch_atm class attribute TCA_ATM_STATE to retrieve VC state + +Other changes +------------- + + - led.new: improved handling of LANE flush protocol (Heikki Vatiainen) + - copied USAGE from led/ to led.new/ + - added description of ilmid options -i and -u to USAGE (Heikki Vatiainen) + - ilmid -u now also works without -DDYNAMIC_UNI (all values but the default + are refused) + - tcpdump patch updated to tcpdump version 3.4 (Heikki Vatiainen) + - updated "tc" patch to iproute2 version 2.1.99-now-ss990203 + + Version 0.52 to 0.53 (9-FEB-1999) ==================== diff -ur --new-file old/atm/README new/atm/README --- old/atm/README Tue Feb 9 17:52:25 1999 +++ new/atm/README Fri Feb 19 17:12:41 1999 @@ -1,4 +1,4 @@ -ATM on Linux, release 0.53 (alpha) by Werner Almesberger, EPFL ICA +ATM on Linux, release 0.54 (alpha) by Werner Almesberger, EPFL ICA ============================================== Werner.Almesberger@epfl.ch This is experimental software. There are known major bugs and certainly @@ -11,7 +11,7 @@ The kernel patch is relative to the "standard" 2.2.1 kernel. -Please see http://lrcwww.epfl.ch/linux-atm/info.html for a list of +Please see http://ica1www.epfl.ch/linux-atm/info.html for a list of features supported by ATM on Linux. For usage and installation instructions, please read the file USAGE or diff -ur --new-file old/atm/USAGE new/atm/USAGE --- old/atm/USAGE Tue Feb 9 18:22:36 1999 +++ new/atm/USAGE Fri Feb 19 18:01:42 1999 @@ -1,8 +1,8 @@ -Usage instructions - ATM on Linux, release 0.53 +Usage instructions - ATM on Linux, release 0.54 ------------------------------------------------- For updates of ATM on Linux, please check the Web page at -http://lrcwww.epfl.ch/linux-atm/ +http://ica1www.epfl.ch/linux-atm/ WARNING @@ -17,7 +17,7 @@ In order to install this package, you need - the package itself - ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.53.tar.gz + ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.54.tar.gz - the Linux kernel, version 2.2.1, e.g. from ftp://ftp.kernel.org/pub/linux/kernel/v2.1/linux-2.2.1.tar.gz - Perl, version 4 or 5 @@ -33,7 +33,7 @@ all the files listed above there. Then extract the ATM on Linux distribution: -tar xfz atm-0.53.tar.gz +tar xfz atm-0.54.tar.gz and the kernel source: @@ -117,7 +117,7 @@ Some drivers can also be used with certain compatible cards. The latest information about compatible cards can be found at -http://lrcwww.epfl.ch/linux-atm/info.html +http://ica1www.epfl.ch/linux-atm/info.html Then build your kernel and reboot. @@ -208,10 +208,9 @@ tcpdump dumps network traffic (enhanced for ATM) ans ATM name server (based on named 4.9.5) -Building tcpdump requires that csh is installed. Note that text2atm -automatically uses ANS if available, so ans only needs to be installed on -systems providing name server functionality or if ATM-aware maintenance -tools (nslookup, etc.) are needed. +Note that text2atm automatically uses ANS if available, so ans only needs +to be installed on systems providing name server functionality or if +ATM-aware maintenance tools (nslookup, etc.) are needed. A script hosts2ans.pl to convert a /etc/hosts.atm file to ANS zone files is provided in atm/extra/. Its use is described at the beginning of the file. @@ -539,15 +538,22 @@ The ILMI demon is started as follows: - # ilmid [-b] [-d] [-l ] [-v] [-x] [] + # ilmid [-b] [-d] [-i ] [-l ] [-u ] [-v] + [-x] [] -b background. Run in a forked child process after initializing. -d enables debugging output. By default, ilmid is very quiet. + -i IP address to tell switch when asked for one. Can be in + either dotted decimal or textual format. By default, ilmid uses some + heuristics to select a local IP address. -l write diagnostic messages to the specified file instead of to standard error. The special name syslog is used to send diagnostics to the system logger. -q configures the ILMI VC to use the specified quality of service. By default, UBR at link speed is used on the ILMI VC. + -u set UNI version. Possible values are 3.0 , 3.1 , + and 4.0 . The dot can be omitted. The default value depends on how + ilmid was compiled. Typically, it is 3.0 . -v enables extensive debugging output. -x disable inclusion of variable bindings in the ColdstartTrap. Some switches (e.g. the LS100) only work if this option is set. diff -ur --new-file old/atm/VERSION new/atm/VERSION --- old/atm/VERSION Tue Feb 9 18:22:29 1999 +++ new/atm/VERSION Fri Feb 19 17:12:02 1999 @@ -1 +1 @@ -0.53 +0.54 diff -ur --new-file old/atm/atm.patch new/atm/atm.patch --- old/atm/atm.patch Tue Feb 9 18:22:15 1999 +++ new/atm/atm.patch Fri Feb 19 18:00:54 1999 @@ -2992,7 +2992,7 @@ + +#endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/drivers/atm/eni.h Tue Feb 9 18:04:33 1999 ++++ work/drivers/atm/eni.h Fri Feb 19 17:27:41 1999 @@ -0,0 +1,115 @@ +/* drivers/atm/eni.h - Efficient Networks ENI155P device driver declarations */ + @@ -10620,7 +10620,7 @@ + +#endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/drivers/atm/suni.h Tue Feb 9 18:04:31 1999 ++++ work/drivers/atm/suni.h Fri Feb 19 17:27:40 1999 @@ -0,0 +1,210 @@ +/* drivers/atm/suni.h - PMC SUNI (PHY) declarations */ + @@ -13367,7 +13367,7 @@ + +#endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/drivers/atm/zatm.h Tue Feb 9 18:04:37 1999 ++++ work/drivers/atm/zatm.h Fri Feb 19 17:27:45 1999 @@ -0,0 +1,137 @@ +/* drivers/atm/zatm.h - ZeitNet ZN122x device driver declarations */ + @@ -14152,11 +14152,11 @@ + +#endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/include/linux/atmdev.h Tue Feb 9 18:04:31 1999 -@@ -0,0 +1,324 @@ -+/* atmdev.h - ATM device driver declarations */ ++++ work/include/linux/atmdev.h Thu Feb 18 17:40:29 1999 +@@ -0,0 +1,345 @@ ++/* atmdev.h - ATM device driver declarations and various related items */ + -+/* Written 1995-1998 by Werner Almesberger, EPFL LRC/ICA */ ++/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */ + + +#ifndef LINUX_ATMDEV_H @@ -14260,6 +14260,20 @@ +#define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | \ + ATM_MF_DEC_SHP | ATM_MF_BWD) + ++/* ++ * ATM_VS_* are used to express VC state in a human-friendly way. ++ */ ++ ++#define ATM_VS_IDLE 0 /* VC is not used */ ++#define ATM_VS_CONNECTED 1 /* VC is connected */ ++#define ATM_VS_CLOSING 2 /* VC is closing */ ++#define ATM_VS_LISTEN 3 /* VC is listening for incoming setups */ ++#define ATM_VS_INUSE 4 /* VC is in use (registered with atmsigd) */ ++#define ATM_VS_BOUND 5 /* VC is bound */ ++ ++#define ATM_VS2TXT_MAP \ ++ "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND" ++ + +#ifdef __KERNEL__ + @@ -14305,6 +14319,13 @@ +#define ATM_VF_HASSAP 8192 /* SAP has been set */ +#define ATM_VF_CLOSE 32768 /* asynchronous close - treat like VF_RELEASED*/ + ++#define ATM_VF2VS(flags) \ ++ ((flags) & ATM_VF_READY ? ATM_VS_CONNECTED : \ ++ (flags) & ATM_VF_RELEASED ? ATM_VS_CLOSING : \ ++ (flags) & ATM_VF_LISTEN ? ATM_VS_LISTEN : \ ++ (flags) & ATM_VF_REGIS ? ATM_VS_INUSE : \ ++ (flags) & ATM_VF_BOUND ? ATM_VS_BOUND : ATM_VS_IDLE) ++ +#define ATM_DF_CLOSE 1 /* close device when last VCC is closed */ + +#define ATM_PHY_SIG_LOST 0 /* no carrier/light */ @@ -14986,8 +15007,8 @@ /* ARP ioctl request. */ --- ref/include/linux/pkt_sched.h Tue Apr 28 20:10:10 1998 -+++ work/include/linux/pkt_sched.h Tue Feb 9 15:49:58 1999 -@@ -274,4 +274,17 @@ ++++ work/include/linux/pkt_sched.h Thu Feb 18 17:44:50 1999 +@@ -274,4 +274,18 @@ #define TCA_CBQ_MAX TCA_CBQ_POLICE @@ -14999,10 +15020,11 @@ + TCA_ATM_PTR, /* pointer to descriptor - later */ + TCA_ATM_HDR, /* LL header */ + TCA_ATM_EXCESS, /* excess traffic class (0 for CLP) */ -+ TCA_ATM_ADDR /* PVC address (for output only) */ ++ TCA_ATM_ADDR, /* PVC address (for output only) */ ++ TCA_ATM_STATE /* VC state (ATM_VS_*; for output only) */ +}; + -+#define TCA_ATM_MAX TCA_ATM_ADDR ++#define TCA_ATM_MAX TCA_ATM_STATE + #endif --- ref/include/linux/skbuff.h Thu Jan 28 21:43:15 1999 @@ -15089,7 +15111,7 @@ + +#endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/include/net/atmclip.h Tue Feb 9 18:08:04 1999 ++++ work/include/net/atmclip.h Fri Feb 19 17:30:52 1999 @@ -0,0 +1,62 @@ +/* net/atm/atmarp.h - RFC1577 ATM ARP */ + @@ -15343,11 +15365,11 @@ tc_filter_init(); #endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/sched/sch_atm.c Tue Feb 9 15:49:58 1999 -@@ -0,0 +1,611 @@ ++++ work/net/sched/sch_atm.c Fri Feb 19 17:30:10 1999 +@@ -0,0 +1,614 @@ +/* net/sched/sch_atm.c - ATM VC selection "queueing discipline" */ + -+/* Written 1998 by Werner Almesberger, EPFL ICA */ ++/* Written 1998,1999 by Werner Almesberger, EPFL ICA */ + + +#include @@ -15874,12 +15896,15 @@ + RTA_PUT(skb,TCA_ATM_HDR,flow->hdr_len,flow->hdr); + if (flow->vcc) { + struct sockaddr_atmpvc pvc; ++ int state; + + pvc.sap_family = AF_ATMPVC; + pvc.sap_addr.itf = flow->vcc->dev ? flow->vcc->dev->number : -1; + pvc.sap_addr.vpi = flow->vcc->vpi; + pvc.sap_addr.vci = flow->vcc->vci; + RTA_PUT(skb,TCA_ATM_ADDR,sizeof(pvc),&pvc); ++ state = ATM_VF2VS(flow->vcc->flags); ++ RTA_PUT(skb,TCA_ATM_STATE,sizeof(state),&state); + } + if (flow->excess) + RTA_PUT(skb,TCA_ATM_EXCESS,sizeof(u32),&flow->classid); @@ -16186,7 +16211,7 @@ + return total; +} --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/addr.h Tue Feb 9 18:09:24 1999 ++++ work/net/atm/addr.h Fri Feb 19 17:30:58 1999 @@ -0,0 +1,18 @@ +/* net/atm/addr.h - Local ATM address registry */ + @@ -17899,7 +17924,7 @@ + skb_queue_head_init(from); +} --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/ipcommon.h Tue Feb 9 18:09:30 1999 ++++ work/net/atm/ipcommon.h Fri Feb 19 17:31:03 1999 @@ -0,0 +1,21 @@ +/* net/atm/ipcommon.h - Common items for all ways of doing IP over ATM */ + @@ -18110,8 +18135,8 @@ + +#endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/lec.c Tue Feb 9 17:15:25 1999 -@@ -0,0 +1,2076 @@ ++++ work/net/atm/lec.c Thu Feb 18 16:36:00 1999 +@@ -0,0 +1,2080 @@ +/* + * lec.c: Lan Emulation driver + * Marko Kiiskila carnil@cs.tut.fi @@ -19104,9 +19129,9 @@ +#if 0 /* August 6, 1998 */ + entry->vcc->flags |= ATM_VF_RELEASED; + entry->vcc->flags &= ~ATM_VF_READY; -+ atm_async_release_vcc(entry->vcc, -EPIPE); -+#endif + entry->vcc->push(entry->vcc, NULL); ++#endif ++ atm_async_release_vcc(entry->vcc, -EPIPE); + entry->vcc = NULL; + } + if (entry->recv_vcc) { @@ -19114,9 +19139,9 @@ +#if 0 + entry->recv_vcc->flags |= ATM_VF_RELEASED; + entry->recv_vcc->flags &= ~ATM_VF_READY; -+ atm_async_release_vcc(entry->recv_vcc, -EPIPE); -+#endif + entry->recv_vcc->push(entry->recv_vcc, NULL); ++#endif ++ atm_async_release_vcc(entry->recv_vcc, -EPIPE); + entry->recv_vcc = NULL; + } +} @@ -19885,6 +19910,11 @@ + entry->old_recv_push = old_push; +#endif + entry = make_entry(priv, bus_mac); ++ if (entry == NULL) { ++ lec_arp_unlock(priv); ++ return; ++ } ++ del_timer(&entry->timer); + memcpy(entry->atm_addr, ioc_data->atm_addr, ATM_ESA_LEN); + entry->recv_vcc = vcc; + entry->old_recv_push = old_push; @@ -19942,9 +19972,6 @@ + entry->recv_vcc?entry->recv_vcc->vci:0); + found_entry=1; + del_timer(&entry->timer); -+ if (entry->vcc) { -+ lec_arp_clear_vccs(entry); -+ } + entry->vcc = vcc; + entry->old_push = old_push; + if (entry->status == ESI_VC_PENDING) { @@ -20045,8 +20072,10 @@ + + lec_arp_lock(priv); + to_add = make_entry(priv, mac_addr); -+ if (!to_add) ++ if (!to_add) { ++ lec_arp_unlock(priv); + return -ENOMEM; ++ } + memcpy(to_add->atm_addr, vcc->remote.sas_addr.prv, ATM_ESA_LEN); + to_add->status = ESI_FORWARD_DIRECT; + to_add->flags |= LEC_PERMANENT_FLAG; @@ -20189,7 +20218,7 @@ +} + --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/lec.h Tue Feb 9 18:09:24 1999 ++++ work/net/atm/lec.h Fri Feb 19 17:30:58 1999 @@ -0,0 +1,149 @@ +/* + * @@ -20341,7 +20370,7 @@ +#endif _LEC_H_ + --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/lec_arpc.h Tue Feb 9 18:09:24 1999 ++++ work/net/atm/lec_arpc.h Fri Feb 19 17:30:58 1999 @@ -0,0 +1,114 @@ +/* + * Lec arp cache @@ -21976,7 +22005,7 @@ +} +#endif /* MODULE */ --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/mpc.h Tue Feb 9 18:09:24 1999 ++++ work/net/atm/mpc.h Fri Feb 19 17:30:58 1999 @@ -0,0 +1,65 @@ +#ifndef _MPC_H_ +#define _MPC_H_ @@ -22604,7 +22633,7 @@ + return; +} --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/mpoa_caches.h Tue Feb 9 18:09:24 1999 ++++ work/net/atm/mpoa_caches.h Fri Feb 19 17:30:58 1999 @@ -0,0 +1,90 @@ +#ifndef MPOA_CACHES_H +#define MPOA_CACHES_H @@ -23146,11 +23175,11 @@ +} +#endif --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/proc.c Tue Feb 9 17:15:25 1999 -@@ -0,0 +1,618 @@ ++++ work/net/atm/proc.c Thu Feb 18 17:39:31 1999 +@@ -0,0 +1,615 @@ +/* net/atm/proc.c - ATM /proc interface */ + -+/* Written 1995-1998 by Werner Almesberger, EPFL LRC/ICA */ ++/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */ + +/* + * The mechanism used here isn't designed for speed but rather for convenience @@ -23423,12 +23452,9 @@ + +static const char *vcc_state(struct atm_vcc *vcc) +{ -+ if (vcc->flags & ATM_VF_READY) return "CONNECTED"; -+ if (vcc->flags & ATM_VF_RELEASED) return "CLOSING"; -+ if (vcc->flags & ATM_VF_LISTEN) return "LISTEN"; -+ if (vcc->flags & ATM_VF_REGIS) return "INUSE"; -+ if (vcc->flags & ATM_VF_BOUND) return "BOUND"; -+ return "IDLE"; ++ static const char *map[] = { ATM_VS2TXT_MAP }; ++ ++ return map[ATM_VF2VS(vcc->flags)]; +} + + @@ -24234,7 +24260,7 @@ +EXPORT_SYMBOL(shutdown_atm_dev); +EXPORT_SYMBOL(bind_vcc); --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/resources.h Tue Feb 9 18:09:24 1999 ++++ work/net/atm/resources.h Fri Feb 19 17:30:58 1999 @@ -0,0 +1,32 @@ +/* net/atm/resources.h - ATM-related resources */ + @@ -24524,7 +24550,7 @@ + return 0; +} --- /dev/null Tue Jan 1 05:00:00 1980 -+++ work/net/atm/signaling.h Tue Feb 9 18:09:24 1999 ++++ work/net/atm/signaling.h Fri Feb 19 17:30:58 1999 @@ -0,0 +1,25 @@ +/* net/atm/signaling.h - ATM signaling */ + diff -ur --new-file old/atm/doc/usage.tex new/atm/doc/usage.tex --- old/atm/doc/usage.tex Tue Feb 9 17:54:34 1999 +++ new/atm/doc/usage.tex Fri Feb 19 17:13:19 1999 @@ -1,7 +1,7 @@ %%def%:= %:\begin{verbatim} -%:Usage instructions - ATM on Linux, release 0.53 +%:Usage instructions - ATM on Linux, release 0.54 %:------------------------------------------------- %: %:\end{verbatim} @@ -38,7 +38,7 @@ \title{ATM on Linux \\ User's guide \\ - Release 0.53 (alpha)} + Release 0.54 (alpha)} \author{Werner Almesberger \\ {\tt Werner.Almesberger@epfl.ch} \\ \\ @@ -59,7 +59,7 @@ For updates of ATM on Linux, please check the Web page at -\url{http://lrcwww.epfl.ch/linux-atm/} +\url{http://ica1www.epfl.ch/linux-atm/} %%beginskip \vskip1cm @@ -82,7 +82,7 @@ In order to install this package, you need \begin{itemize} \item the package itself - \url{ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.53.tar.gz} + \url{ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.54.tar.gz} \item the Linux kernel, version 2.2.1, e.g. from \url{ftp://ftp.kernel.org/pub/linux/kernel/v2.1/linux-2.2.1.tar.gz} \item Perl, version 4 or 5 @@ -99,7 +99,7 @@ distribution: \begin{verbatim} -tar xfz atm-0.53.tar.gz +tar xfz atm-0.54.tar.gz \end{verbatim} and the kernel source: @@ -214,7 +214,7 @@ Some drivers can also be used with certain compatible cards. The latest information about compatible cards can be found at -\url{http://lrcwww.epfl.ch/linux-atm/info.html} +\url{http://ica1www.epfl.ch/linux-atm/info.html} Then build your kernel and reboot. @@ -310,7 +310,7 @@ \item[\name{ans}] ATM name server (based on \name{named} 4.9.5) \end{description} -Building \name{tcpdump} requires that \name{csh} is installed. +% Building \name{tcpdump} requires that \name{csh} is installed. Note that \name{text2atm} automatically uses ANS if available, so \name{ans} only needs to be installed on systems providing name server functionality or if ATM-aware maintenance tools @@ -673,18 +673,25 @@ The ILMI demon is started as follows: \begin{command} -\# ilmid \[-b\] \[-d\] \[-l \meta{logfile}\] \[-v\] \[-x\] \[\meta{itf}\] +\# ilmid \[-b\] \[-d\] \[-i \meta{local\_ip}\] \[-l \meta{logfile}\] + \[-u \meta{uni\_version}\] \[-v\] \[-x\] \[\meta{itf}\] \end{command} \begin{description} \item[\raw{-b}] background. Run in a forked child process after initializing. \item[\raw{-d}] enables debugging output. By default, \name{ilmid} is very quiet. + \item[\raw{-i \meta{local\_ip}}] IP address to tell switch when asked for one. + Can be in either dotted decimal or textual format. By default, \name{ilmid} + uses some heuristics to select a local IP address. \item[\raw{-l \meta{logfile}}] write diagnostic messages to the specified file instead of to standard error. The special name \raw{syslog} is used to send diagnostics to the system logger. \item[\raw{-q \meta{qos}}] configures the ILMI VC to use the specified quality of service. By default, UBR at link speed is used on the ILMI VC. + \item[\raw{-u \meta{uni\_version}}] set UNI version. Possible values are + \raw{3.0}, \raw{3.1}, and \raw{4.0}. The dot can be omitted. The default + value depends on how \name{ilmid} was compiled. Typically, it is \raw{3.0}. \item[\raw{-v}] enables extensive debugging output. \item[\raw{-x}] disable inclusion of variable bindings in the ColdstartTrap. Some switches (e.g. the LS100) only work if this option diff -ur --new-file old/atm/doc/usage.txt new/atm/doc/usage.txt --- old/atm/doc/usage.txt Tue Feb 9 18:22:36 1999 +++ new/atm/doc/usage.txt Fri Feb 19 18:01:42 1999 @@ -1,8 +1,8 @@ -Usage instructions - ATM on Linux, release 0.53 +Usage instructions - ATM on Linux, release 0.54 ------------------------------------------------- For updates of ATM on Linux, please check the Web page at -http://lrcwww.epfl.ch/linux-atm/ +http://ica1www.epfl.ch/linux-atm/ WARNING @@ -17,7 +17,7 @@ In order to install this package, you need - the package itself - ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.53.tar.gz + ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.54.tar.gz - the Linux kernel, version 2.2.1, e.g. from ftp://ftp.kernel.org/pub/linux/kernel/v2.1/linux-2.2.1.tar.gz - Perl, version 4 or 5 @@ -33,7 +33,7 @@ all the files listed above there. Then extract the ATM on Linux distribution: -tar xfz atm-0.53.tar.gz +tar xfz atm-0.54.tar.gz and the kernel source: @@ -117,7 +117,7 @@ Some drivers can also be used with certain compatible cards. The latest information about compatible cards can be found at -http://lrcwww.epfl.ch/linux-atm/info.html +http://ica1www.epfl.ch/linux-atm/info.html Then build your kernel and reboot. @@ -208,10 +208,9 @@ tcpdump dumps network traffic (enhanced for ATM) ans ATM name server (based on named 4.9.5) -Building tcpdump requires that csh is installed. Note that text2atm -automatically uses ANS if available, so ans only needs to be installed on -systems providing name server functionality or if ATM-aware maintenance -tools (nslookup, etc.) are needed. +Note that text2atm automatically uses ANS if available, so ans only needs +to be installed on systems providing name server functionality or if +ATM-aware maintenance tools (nslookup, etc.) are needed. A script hosts2ans.pl to convert a /etc/hosts.atm file to ANS zone files is provided in atm/extra/. Its use is described at the beginning of the file. @@ -539,15 +538,22 @@ The ILMI demon is started as follows: - # ilmid [-b] [-d] [-l ] [-v] [-x] [] + # ilmid [-b] [-d] [-i ] [-l ] [-u ] [-v] + [-x] [] -b background. Run in a forked child process after initializing. -d enables debugging output. By default, ilmid is very quiet. + -i IP address to tell switch when asked for one. Can be in + either dotted decimal or textual format. By default, ilmid uses some + heuristics to select a local IP address. -l write diagnostic messages to the specified file instead of to standard error. The special name syslog is used to send diagnostics to the system logger. -q configures the ILMI VC to use the specified quality of service. By default, UBR at link speed is used on the ILMI VC. + -u set UNI version. Possible values are 3.0 , 3.1 , + and 4.0 . The dot can be omitted. The default value depends on how + ilmid was compiled. Typically, it is 3.0 . -v enables extensive debugging output. -x disable inclusion of variable bindings in the ColdstartTrap. Some switches (e.g. the LS100) only work if this option is set. diff -ur --new-file old/atm/extra/Makefile new/atm/extra/Makefile --- old/atm/extra/Makefile Sun Nov 17 17:58:30 1996 +++ new/atm/extra/Makefile Fri Feb 19 17:10:49 1999 @@ -1,6 +1,8 @@ -TCPDUMPSRC=tcpdump-3.0.4-1.tar.gz -TCPDUMPDIR=tcpdump-3.0.4 -TCPDUMPPATCH=tcpdump-3.0.4-1.patch +TCPDUMPSRC=tcpdump-3.4.tar.Z +TCPDUMPDIR=tcpdump-3.4 +LIBPCAPSRC=libpcap-0.4.tar.Z +LIBPCAPDIR=libpcap-0.4 +TCPDUMPPATCHES=tcpdump-3.4.patch tcpdump-3.4.patch.sunrpc ANSSRC=bind-4.9.5-REL.tar.gz ANSDIR=bind-4.9.5 ANSPATCH=bind-4.9.5-REL.patch @@ -17,17 +19,24 @@ tcpdump: [ -f $(TCPDUMPSRC) ] || \ lynx -dump $(DIR)/$(TCPDUMPSRC) >$(TCPDUMPSRC) + [ -f $(LIBPCAPSRC) ] || \ + lynx -dump $(DIR)/$(LIBPCAPSRC) >$(LIBPCAPSRC) [ -d $(TCPDUMPDIR) ] || tar xfz $(TCPDUMPSRC) + [ -d $(LIBPCAPDIR) ] || tar xfz $(LIBPCAPSRC) [ -f $(TCPDUMPDIR)/.patched ] || { \ - cd $(TCPDUMPDIR) && patch -p1 -s <../$(TCPDUMPPATCH) && \ - ln -s ../libpcap-0.0.6 $(TCPDUMPDIR)/libpcap && \ - touch .patched \ + for n in $(TCPDUMPPATCHES); do \ + patch -p1 -s <$$n || exit 1; done && \ + touch $(TCPDUMPDIR)/.patched \ + } + [ -f $(LIBPCAPDIR)/.compiled ] || { \ + cd $(LIBPCAPDIR) && ./configure && make && touch .compiled \ } [ -f $(TCPDUMPDIR)/.compiled ] || { \ - cd $(TCPDUMPDIR) && ./debian.rules && touch .compiled \ + cd $(TCPDUMPDIR) && ./configure && make && touch .compiled \ } install-tcpdump: + [ -f $(LIBPCAPDIR)/.compiled ] || $(MAKE) libpcap [ -f $(TCPDUMPDIR)/.compiled ] || $(MAKE) tcpdump install -c -m 755 $(TCPDUMPDIR)/$(TCPDUMPDIR)/tcpdump \ $(INSTSYSBIN)/tcpdump_atm @@ -49,3 +58,13 @@ install-ans: [ -f $(ANSDIR)/.compiled ] || $(MAKE) ans cd $(ANSDIR) && make install # brute-force + +clean: + [ ! -f $(TCPDUMPDIR)/Makefile ] || \ + { cd $(TCPDUMPDIR) && make clean; } + [ ! -f $(LIBPCAPDIR)/Makefile ] || \ + { cd $(LIBPCAPDIR) && make clean; } + +spotless: + rm -f $(TCPDUMPSRC) $(LIBPCAPSRC) + rm -rf $(TCPDUMPDIR) $(LIBPCAPDIR) diff -ur --new-file old/atm/extra/extra.html new/atm/extra/extra.html --- old/atm/extra/extra.html Mon Nov 11 18:42:25 1996 +++ new/atm/extra/extra.html Fri Feb 19 16:43:51 1999 @@ -13,14 +13,15 @@ the USAGE file for patch and build instructions.

- - tcpdump-3.0.4-1 from the Debian 1.1.13 distribution +libpcap, version 0.4
+tcpdump, version 3.4 +

BIND version 4.9.5-REL


Werner Almesberger, -11-NOV-1996
+19-FEB-1999 diff -ur --new-file old/atm/extra/tc/README new/atm/extra/tc/README --- old/atm/extra/tc/README Sun Nov 1 18:34:29 1998 +++ new/atm/extra/tc/README Fri Feb 19 17:59:56 1999 @@ -13,13 +13,14 @@ 2. Build the kernel. -3. Download iproute2-2.1.99-now-ss981002.tar.gz either from +3. Download iproute2-2.1.99-now-ss990203.tar.gz either from + ftp://ftp.inr.ac.ru/ip-routing/ or one of its mirrors, or from ftp://lrcftp.epfl.ch/pub/people/almesber/misc/ 4. Add the ATM queuing discipline to "tc" (assuming that we're in atm/extra/tc): - - tar xvfz iproute2-2.1.99-now-ss981002.tar.gz + - tar xvfz iproute2-2.1.99-now-ss990203.tar.gz - cd iproute2/tc - patch -s -p2 <../../Makefile.patch - cp ../../q_atm.c . @@ -28,8 +29,6 @@ - cd .. - edit Makefile to adjust KERNEL_INCLUDE, and maybe also to change the library definitions - - if using glibc 2, remove "ip" from SUBDIRS in Makefile, and delete both - references to IPPROTO_PIM in tc/f_rsvp.o - make - cd tc @@ -45,8 +44,9 @@ % ./tc qdisc show dev eth0 qdisc atm 1: root % ./tc class show dev eth0 - class atm 1: parent 1: - class atm 1: parent 1: 0.0.100 + class atm 1: parent 1: hdr . excess clp + class atm 1: parent 1: pvc 0.0.100 hdr aa.aa.03.00.00.00.08.00 excess clp + CONNECTED (The first class is used to send all traffic that isn't explicitly selected for ATM over the normal Ethernet interface. This class is diff -ur --new-file old/atm/extra/tc/q_atm.c new/atm/extra/tc/q_atm.c --- old/atm/extra/tc/q_atm.c Sun Nov 1 19:08:21 1998 +++ new/atm/extra/tc/q_atm.c Fri Feb 19 17:42:12 1999 @@ -1,20 +1,24 @@ /* * q_atm.c ATM. * - * Hacked 1998 by Werner Almesberger, EPFL ICA + * Hacked 1998,1999 by Werner Almesberger, EPFL ICA * */ #include #include #include +#include #include #include #include +#include #include #include #include #include +#include +#include #include "utils.h" #include "tc_util.h" @@ -38,7 +42,8 @@ static void explain(void) { fprintf(stderr, "Usage: ... atm ( pvc ADDR | svc ADDR [ sap SAP ] ) " - "[ qos QOS ] [ hdr HEX... ] [ excess ( CLASSID | clp ) ] \n"); + "[ qos QOS ] [ hdr HEX... ]\n"); + fprintf(stderr, " [ excess ( CLASSID | clp ) ] [ clip ]\n"); } @@ -52,6 +57,7 @@ __u32 excess = 0; struct rtattr *tail; int hdr_len = -1; + int set_clip = 0; int s; memset(&addr,0,sizeof(addr)); @@ -122,6 +128,9 @@ return -1; } } + else if (!strcmp(*argv,"clip")) { + set_clip = 1; + } else { explain(); return 1; @@ -148,6 +157,11 @@ perror("connect"); return -1; } + if (set_clip) + if (ioctl(s,ATMARP_MKIP,0) < 0) { + perror("ioctl ATMARP_MKIP"); + return -1; + } tail = (struct rtattr *) (((void *) n)+NLMSG_ALIGN(n->nlmsg_len)); addattr_l(n,1024,TCA_OPTIONS,NULL,0); addattr_l(n,1024,TCA_ATM_FD,&s,sizeof(s)); @@ -201,6 +215,17 @@ print_tc_classid(buf,sizeof(buf),excess); fprintf(f,"excess %s ",buf); } + } + } + if (tb[TCA_ATM_STATE]) { + static const char *map[] = { ATM_VS2TXT_MAP }; + int state; + + if (RTA_PAYLOAD(tb[TCA_ATM_STATE]) < sizeof(state)) + fprintf(stderr,"ATM: state field too short\n"); + else { + state = *(int *) RTA_DATA(tb[TCA_ATM_STATE]); + fprintf(f,"%s ",map[state]); } } return 0; diff -ur --new-file old/atm/extra/tcpdump-3.0.4-1.patch new/atm/extra/tcpdump-3.0.4-1.patch --- old/atm/extra/tcpdump-3.0.4-1.patch Mon Nov 11 19:00:24 1996 +++ new/atm/extra/tcpdump-3.0.4-1.patch Thu Jan 1 01:00:00 1970 @@ -1,470 +0,0 @@ -diff -ur --new-file tcpdump-3.0.4-orig/COPYRIGHT.TUT tcpdump-3.0.4-atm/COPYRIGHT.TUT ---- tcpdump-3.0.4-orig/COPYRIGHT.TUT Thu Jan 1 01:00:00 1970 -+++ tcpdump-3.0.4-atm/COPYRIGHT.TUT Mon Nov 11 18:57:43 1996 -@@ -0,0 +1,21 @@ -+/* -+ * Marko Kiiskila carnil@cs.tut.fi -+ * -+ * Tampere University of Technology - Telecommunications Laboratory -+ * -+ * Permission to use, copy, modify and distribute this -+ * software and its documentation is hereby granted, -+ * provided that both the copyright notice and this -+ * permission notice appear in all copies of the software, -+ * derivative works or modified versions, and any portions -+ * thereof, that both notices appear in supporting -+ * documentation, and that the use of this software is -+ * acknowledged in any publications resulting from using -+ * the software. -+ * -+ * TUT ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" -+ * CONDITION AND DISCLAIMS ANY LIABILITY OF ANY KIND FOR -+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS -+ * SOFTWARE. -+ * -+ */ -diff -ur --new-file tcpdump-3.0.4-orig/libpcap-0.0.6/bpf/net/bpf.h tcpdump-3.0.4-atm/libpcap-0.0.6/bpf/net/bpf.h ---- tcpdump-3.0.4-orig/libpcap-0.0.6/bpf/net/bpf.h Thu Jun 9 04:04:26 1994 -+++ tcpdump-3.0.4-atm/libpcap-0.0.6/bpf/net/bpf.h Mon Nov 11 18:57:43 1996 -@@ -169,6 +169,8 @@ - #define DLT_SLIP 8 /* Serial Line IP */ - #define DLT_PPP 9 /* Point-to-point Protocol */ - #define DLT_FDDI 10 /* FDDI */ -+#define DLT_LANE8023 11 /* LANE 802.3(Ethernet) */ -+#define DLT_CIP 12 /* ATM Classical IP */ - - /* - * The instruction encondings. -diff -ur --new-file tcpdump-3.0.4-orig/libpcap-0.0.6/configure tcpdump-3.0.4-atm/libpcap-0.0.6/configure ---- tcpdump-3.0.4-orig/libpcap-0.0.6/configure Fri May 3 19:41:19 1996 -+++ tcpdump-3.0.4-atm/libpcap-0.0.6/configure Mon Nov 11 18:57:18 1996 -@@ -1,4 +1,4 @@ --#!/bin/csh -f -+#!/bin/csh -fx - set bison - set ethers - set flex -diff -ur --new-file tcpdump-3.0.4-orig/libpcap-0.0.6/gencode.c tcpdump-3.0.4-atm/libpcap-0.0.6/gencode.c ---- tcpdump-3.0.4-orig/libpcap-0.0.6/gencode.c Tue Jun 21 04:07:54 1994 -+++ tcpdump-3.0.4-atm/libpcap-0.0.6/gencode.c Mon Nov 11 18:57:44 1996 -@@ -492,6 +492,16 @@ - return; - #endif - -+ case DLT_LANE8023: -+ off_linktype = 14; -+ off_nl = 16; -+ return; -+ -+ c .