diff -ur --new-file old/atm/BUGS new/atm/BUGS --- old/atm/BUGS Tue Mar 11 23:58:24 1997 +++ new/atm/BUGS Thu Mar 27 19:29:07 1997 @@ -1,3 +1,15 @@ +Known bugs and restrictions in version 0.28 +=========================================== + + - Arequipa sometimes eats the first packet + - atmsigd reported to die and hang in eni.c:close_tx + - ENI driver still emits "ident mismatch" + - atmsigd -N is reported to fail in some unspecified way + - didn't fix all the 0.27 problems listed below + - atmarpd sometimes complains about "ARP: unknown hw protocol 0xaaaa". Might + indicate that data gets corrupted somewhere. + + Known bugs and restrictions in version 0.27 =========================================== diff -ur --new-file old/atm/CHANGES new/atm/CHANGES --- old/atm/CHANGES Tue Mar 11 23:43:18 1997 +++ new/atm/CHANGES Thu Mar 27 19:01:15 1997 @@ -1,3 +1,30 @@ +Version 0.27 to 0.28 (27-MAR-1997) +==================== + +Bug fixes +--------- + + - atmarpd restarted timers on as_valid -> as_valid transitions, illegally + delayed necessary refreshes (reported by Juha Heinanen) + - SSCOP cleared POLL timer on IDLE timer expiry (fix by Ngo Bach Long) + - atmsigd didn't initialize "now" soon enough, causing an unnecessary + retransmission of the first BGN PDU (by Ngo Bach Long) + - atmsigd responded to RELEASE COMPLETE in ss_rel_ind with a STATUS instead of + entering ss_wait_close (by Steve Pope) + +New features +------------ + + - new tool aqpvc to declare incoming Arequipa traffic on a PVC to the system + (caveat: removing such a PVC can turn out to be surprisingly difficult) + +Other changes +------------- + + - removed some useless code in atmarpd's handling of VC disconnects + - removed unused signaling state ss_hold (equivalent to ss_wait_rel) + + Version 0.26 to 0.27 (11-MAR-1997) ==================== diff -ur --new-file old/atm/README new/atm/README --- old/atm/README Mon Mar 10 16:59:49 1997 +++ new/atm/README Thu Mar 27 19:01:44 1997 @@ -1,4 +1,4 @@ -ATM on Linux, release 0.27 (pre-alpha) by Werner Almesberger, EPFL LRC +ATM on Linux, release 0.28 (pre-alpha) by Werner Almesberger, EPFL LRC ====================================== werner.almesberger@lrc.di.epfl.ch This is experimental software. There are known major bugs and certainly diff -ur --new-file old/atm/USAGE new/atm/USAGE --- old/atm/USAGE Tue Mar 11 23:23:36 1997 +++ new/atm/USAGE Thu Mar 27 19:32:39 1997 @@ -1,4 +1,4 @@ -Usage instructions - ATM on Linux, release 0.26 (pre-alpha) +Usage instructions - ATM on Linux, release 0.28 (pre-alpha) ------------------------------------------------------------- For updates of ATM on Linux, please check the Web page at @@ -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.26.tar.gz + ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.28.tar.gz - the Linux kernel, version 2.0.25, e.g. from ftp://ftp.cs.helsinki.fi/pub/Software/Linux/Kernel/v2.0/linux-2.0.25.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.26.tar.gz +tar xfz atm-0.28.tar.gz and the kernel source: diff -ur --new-file old/atm/VERSION new/atm/VERSION --- old/atm/VERSION Wed Feb 26 17:19:30 1997 +++ new/atm/VERSION Thu Mar 27 19:31:53 1997 @@ -1 +1 @@ -0.27 +0.28 diff -ur --new-file old/atm/aqd/Makefile new/atm/aqd/Makefile --- old/atm/aqd/Makefile Sun Nov 17 15:44:13 1996 +++ new/atm/aqd/Makefile Wed Mar 19 20:35:53 1997 @@ -3,6 +3,7 @@ #INCLUDES= OBJS=arequipad.o io.o BOOTPGMS=arequipad +SYSPGMS=aqpvc MAN8=arequipad.8 include ../Rules.make diff -ur --new-file old/atm/aqd/aqpvc.8 new/atm/aqd/aqpvc.8 --- old/atm/aqd/aqpvc.8 Thu Jan 1 01:00:00 1970 +++ new/atm/aqd/aqpvc.8 Thu Mar 20 14:24:12 1997 @@ -0,0 +1,19 @@ +.TH AREQUIPAD 8 "Mar 20, 1997" "Linux" "Maintenance Commands" +.SH NAME +aqpvc \- set up a PVC and await Arequipa traffic on it +.SH SYNOPSIS +.B aqpvc +.RB [\fIitf\fP.]\fIvpi\fP.\fIvci\fP +.RB [ \fIqos\fP ] +.SH DESCRIPTION +\fBaqpvc\fP opens a local PVC socket and registers it in the kernel as an +incoming Arequipa connection. After that, the socket is "owned" by the +kernel and can be attached to a INET socket according to the rules of +Arequipa. +.P +Such a PVC socket can only be closed if it has been attached to an INET socket +and if the latter is closed. There is \fIno\fP way to explicitly close the +PVC socket. +.SH AUTHOR +Werner Almesberger, EPFL LRC +.\"{{{}}} diff -ur --new-file old/atm/aqd/aqpvc.c new/atm/aqd/aqpvc.c --- old/atm/aqd/aqpvc.c Thu Jan 1 01:00:00 1970 +++ new/atm/aqd/aqpvc.c Wed Mar 19 20:41:21 1997 @@ -0,0 +1,67 @@ +/* aqpvc.c - Sets up a PVC and awaits Arequipa traffic on it */ + +/* Hacked 1997 by Werner Almesberger, EPFL-LRC */ + +/* + * Features: + * - if there's no traffic on that PVC, no INET socket will ever pick it up + * - if no socket picks it up, it won't go away by itself + * - you guessed right; there's no other way to get rid of it (short of + * rebooting) + */ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +static void usage(const char *name) +{ + fprintf(stderr,"usage: %s [itf.]vpi.vci [qos]\n",name); + exit(1); +} + + +int main(int argc,const char **argv) +{ + struct sockaddr_atmpvc addr; + struct atm_qos qos; + int s; + + if (argc != 2 && argc != 3) usage(*argv); + if (text2atm(argv[1],(struct sockaddr *) &addr,sizeof(addr),T2A_PVC | + T2A_NAME) < 0) usage(*argv); + if (argc == 2) { + memset(&qos,0,sizeof(qos)); + qos.aal = ATM_AAL5; + qos.txtp.traffic_class = qos.rxtp.traffic_class = ATM_UBR; + qos.txtp.max_sdu = qos.rxtp.max_sdu = RFC1626_MTU+RFC1483LLC_LEN; + } + else { + if (text2qos(argv[2],&qos,0) < 0) usage(*argv); + } + if ((s = socket(PF_ATMPVC,SOCK_DGRAM,0)) < 0) { + perror("socket"); + return 1; + } + if (setsockopt(s,SOL_ATM,SO_ATMQOS,&qos,sizeof(qos)) < 0) { + perror("setsockopt SO_ATMQOS"); + return 1; + } + if (bind(s,(struct sockaddr *) &addr,sizeof(addr)) < 0) { + perror("bind"); + return 1; + } + if (ioctl(s,AREQUIPA_INCOMING,0) < 0) { + perror("ioctl AREQUIPA_INCOMING"); + return 1; + } + return 0; +} diff -ur --new-file old/atm/arpd/arp.c new/atm/arpd/arp.c --- old/atm/arpd/arp.c Mon Jan 13 21:01:58 1997 +++ new/atm/arpd/arp.c Thu Mar 13 21:34:44 1997 @@ -122,6 +122,9 @@ { ENTRY *walk; + /* immediately try to bring it up again if this was the connection to the + ATMARP server and we still need it. Should delay this in case the ARP + server has a real problem. @@@ */ if (entry->itf && entry->itf->arp_srv == entry) for (walk = entry->itf->table; walk; walk = walk->next) { if (walk->state == as_resolv) break; @@ -478,6 +481,8 @@ Q_INSERT_HEAD(entry->vccs,vcc); } } + if (entry->state == as_valid && entry->ip == ip && entry->addr && + atm_equal(entry->addr,addr,0,0)) return; /* no news */ STOP_TIMER(entry); entry->ip = ip; if (!entry->itf) { @@ -922,14 +927,6 @@ ENTRY *entry; diag(COMPONENT,DIAG_DEBUG,"disconnected VCC0x%08x",(unsigned long) vcc); - /* immediately try to bring it up again if this was the connection to the - ATMARP server and we still need it. Should delay this in case the ARP - server has a real problem. @@@ */ - if (vcc->entry && vcc->entry->itf && (vcc->entry->flags & ATF_ARPSRV)) { - for (entry = vcc->entry->itf->table; entry; entry = entry->next) - if (entry->state == as_resolv) break; - if (entry) want_arp_srv(vcc->entry->itf); - } entry = vcc->entry; discard_vcc(vcc); if (entry) vcc_detach(entry); diff -ur --new-file old/atm/atm-0.27-1.spec new/atm/atm-0.27-1.spec --- old/atm/atm-0.27-1.spec Tue Mar 11 23:28:35 1997 +++ new/atm/atm-0.27-1.spec Thu Jan 1 01:00:00 1970 @@ -1,136 +0,0 @@ -Summary: ATM (Asynchronous Transfer Mode) -Name: atm -Version: 0.27 -Release: 1 -Source: atm-0.27.tar.gz -Source: lrcftp.epfl.ch:/pub/linux/atm/dist/atm-0.27.tar.gz -Copyright: distributable -Group: Networking/ATM -ExclusiveArch: i386 -ExclusiveOS: Linux - -%description -Programs, libraries, and configuration files required for using ATM -on Linux. Note that you still need to patch your kernel. - -%package ans -Summary: ANS (ATM Name Server) -Group: Networking/ATM - -%description ans -ANS is a version of BIND with extensions for ATM. This package contains -the complete BIND distribution, including tools like nslookup and dig. - -%prep - -%setup -n atm - -%build -make -cd extra -make tcpdump -make ans - -%install -INSTPREFIX=/usr make -e -cd config/redhat-4.0 -make install -cd ../../extra -INSTPREFIX=/usr make -e install - -%files ans -/usr/lib/libresolv.a -/usr/include/arpa/inet.h -/usr/include/arpa/nameser.h -/usr/include/netdb.h -/usr/include/resolv.h -/usr/include/sys/bitypes.h -/usr/lib/lib44bsd.a -/usr/sbin/named -/usr/sbin/named-xfer -/usr/sbin/named.restart -/usr/sbin/named.reload -/usr/sbin/ndc -/usr/bin/nslookup -/usr/lib/nslookup.help -/usr/bin/host -/usr/bin/dig -/usr/bin/dnsquery -/usr/bin/addr -/usr/man/man1/dig.1 -/usr/man/man1/host.1 -/usr/man/man1/dnsquery.1 -/usr/man/man8/named.8 -/usr/man/man8/named.reload.8 -/usr/man/man8/named.restart.8 -/usr/man/man8/ndc.8 -/usr/man/man8/named-xfer.8 -/usr/man/man8/nslookup.8 -/usr/man/man3/gethostbyname.3 -/usr/man/man3/resolver.3 -/usr/man/man3/getnetent.3 -/usr/man/man5/resolver.5 -/usr/man/man7/hostname.7 -/usr/man/man7/mailaddr.7 - -%files -%doc README -%doc USAGE -%config /etc/sysconfig/atm -%config /etc/atmsigd.conf -%config /etc/sysconfig/network-scripts/ifcfg-atm0 -%config /etc/sysconfig/network-scripts/ifup-atm -%config /etc/hosts.atm -/usr/sbin/tcpdump -/usr/lib/libatm.a -/usr/lib/libatmd.a -/usr/lib/libarequipa.a -/usr/include/atm.h -/usr/include/atmd.h -/usr/include/atmsap.h -/usr/include/arequipa.h -/usr/sbin/atmaddr -/usr/sbin/atmtcp -/usr/sbin/zntune -/usr/bin/atmdiag -/usr/bin/atmdump -/usr/bin/sonetdiag -/usr/man/man8/atmaddr.8 -/usr/man/man8/atmdiag.8 -/usr/man/man8/atmdump.8 -/usr/man/man8/atmtcp.8 -/usr/sbin/clip -/usr/sbin/atmarp -/usr/man/man8/clip.8 -/usr/man/man8/atmarp.8 -/usr/bin/aping -/usr/bin/aread -/usr/bin/awrite -/usr/bin/br -/usr/bin/bw -/usr/bin/ttcp_atm -/usr/bin/window -/usr/sbin/delay -/usr/sbin/aqtest -/usr/sbin/ed -/usr/sbin/encopy -/usr/sbin/endump -/usr/sbin/zndump -/usr/sbin/znth -/usr/sbin/atmsigd -/usr/man/man4/atmsigd.conf.4 -/usr/man/man8/atmsigd.8 -/usr/sbin/atmarpd -/usr/man/man8/atmarpd.8 -/usr/sbin/ilmid -/usr/sbin/zeppelin -/usr/man/man8/zeppelin.8 -/usr/sbin/les -/usr/sbin/bus -/usr/sbin/lecs -/usr/man/man8/les.8 -/usr/man/man8/lecs.8 -/usr/man/man8/bus.8 -/usr/sbin/arequipad -/usr/man/man8/arequipad.8 -/usr/man/man7/qos.7 diff -ur --new-file old/atm/atm-0.28-1.spec new/atm/atm-0.28-1.spec --- old/atm/atm-0.28-1.spec Thu Jan 1 01:00:00 1970 +++ new/atm/atm-0.28-1.spec Thu Mar 20 14:49:19 1997 @@ -0,0 +1,138 @@ +Summary: ATM (Asynchronous Transfer Mode) +Name: atm +Version: 0.28 +Release: 1 +Source: atm-0.28.tar.gz +Source: lrcftp.epfl.ch:/pub/linux/atm/dist/atm-0.28.tar.gz +Copyright: distributable +Group: Networking/ATM +ExclusiveArch: i386 +ExclusiveOS: Linux + +%description +Programs, libraries, and configuration files required for using ATM +on Linux. Note that you still need to patch your kernel. + +%package ans +Summary: ANS (ATM Name Server) +Group: Networking/ATM + +%description ans +ANS is a version of BIND with extensions for ATM. This package contains +the complete BIND distribution, including tools like nslookup and dig. + +%prep + +%setup -n atm + +%build +make +cd extra +make tcpdump +make ans + +%install +INSTPREFIX=/usr make -e +cd config/redhat-4.0 +make install +cd ../../extra +INSTPREFIX=/usr make -e install + +%files ans +/usr/lib/libresolv.a +/usr/include/arpa/inet.h +/usr/include/arpa/nameser.h +/usr/include/netdb.h +/usr/include/resolv.h +/usr/include/sys/bitypes.h +/usr/lib/lib44bsd.a +/usr/sbin/named +/usr/sbin/named-xfer +/usr/sbin/named.restart +/usr/sbin/named.reload +/usr/sbin/ndc +/usr/bin/nslookup +/usr/lib/nslookup.help +/usr/bin/host +/usr/bin/dig +/usr/bin/dnsquery +/usr/bin/addr +/usr/man/man1/dig.1 +/usr/man/man1/host.1 +/usr/man/man1/dnsquery.1 +/usr/man/man8/named.8 +/usr/man/man8/named.reload.8 +/usr/man/man8/named.restart.8 +/usr/man/man8/ndc.8 +/usr/man/man8/named-xfer.8 +/usr/man/man8/nslookup.8 +/usr/man/man3/gethostbyname.3 +/usr/man/man3/resolver.3 +/usr/man/man3/getnetent.3 +/usr/man/man5/resolver.5 +/usr/man/man7/hostname.7 +/usr/man/man7/mailaddr.7 + +%files +%doc README +%doc USAGE +%config /etc/sysconfig/atm +%config /etc/atmsigd.conf +%config /etc/sysconfig/network-scripts/ifcfg-atm0 +%config /etc/sysconfig/network-scripts/ifup-atm +%config /etc/hosts.atm +/usr/sbin/tcpdump +/usr/lib/libatm.a +/usr/lib/libatmd.a +/usr/lib/libarequipa.a +/usr/include/atm.h +/usr/include/atmd.h +/usr/include/atmsap.h +/usr/include/arequipa.h +/usr/sbin/atmaddr +/usr/sbin/atmtcp +/usr/sbin/zntune +/usr/bin/atmdiag +/usr/bin/atmdump +/usr/bin/sonetdiag +/usr/man/man8/atmaddr.8 +/usr/man/man8/atmdiag.8 +/usr/man/man8/atmdump.8 +/usr/man/man8/atmtcp.8 +/usr/sbin/clip +/usr/sbin/atmarp +/usr/man/man8/clip.8 +/usr/man/man8/atmarp.8 +/usr/bin/aping +/usr/bin/aread +/usr/bin/awrite +/usr/bin/br +/usr/bin/bw +/usr/bin/ttcp_atm +/usr/bin/window +/usr/sbin/delay +/usr/sbin/aqtest +/usr/sbin/ed +/usr/sbin/encopy +/usr/sbin/endump +/usr/sbin/zndump +/usr/sbin/znth +/usr/sbin/atmsigd +/usr/man/man4/atmsigd.conf.4 +/usr/man/man8/atmsigd.8 +/usr/sbin/atmarpd +/usr/man/man8/atmarpd.8 +/usr/sbin/ilmid +/usr/sbin/zeppelin +/usr/man/man8/zeppelin.8 +/usr/sbin/les +/usr/sbin/bus +/usr/sbin/lecs +/usr/man/man8/les.8 +/usr/man/man8/lecs.8 +/usr/man/man8/bus.8 +/usr/sbin/arequipad +/usr/sbin/aqpvc +/usr/man/man8/arequipad.8 +/usr/man/man8/aqpvc.8 +/usr/man/man7/qos.7 diff -ur --new-file old/atm/atm.patch new/atm/atm.patch --- old/atm/atm.patch Tue Mar 11 23:58:51 1997 +++ new/atm/atm.patch Thu Mar 27 19:33:37 1997 @@ -752,7 +752,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/drivers/atm/eni.c Tue Mar 11 11:52:44 1997 ++++ work/drivers/atm/eni.c Thu Mar 27 17:10:17 1997 @@ -0,0 +1,1952 @@ +/* drivers/atm/eni.c - Efficient Networks ENI155P device driver */ + @@ -2707,7 +2707,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/drivers/atm/eni.h Tue Mar 11 11:55:18 1997 ++++ work/drivers/atm/eni.h Wed Mar 19 20:42:17 1997 @@ -0,0 +1,114 @@ +/* drivers/atm/eni.h - Efficient Networks ENI155P device driver declarations */ + @@ -3393,7 +3393,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/drivers/atm/suni.h Tue Mar 11 11:55:18 1997 ++++ work/drivers/atm/suni.h Wed Mar 19 20:42:17 1997 @@ -0,0 +1,219 @@ +/* drivers/atm/suni.h - PMC SUNI (PHY) declarations */ + @@ -6123,7 +6123,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/drivers/atm/zatm.h Tue Mar 11 11:56:58 1997 ++++ work/drivers/atm/zatm.h Wed Mar 19 20:42:45 1997 @@ -0,0 +1,172 @@ +/* drivers/atm/zatm.h - ZeitNet ZN122x device driver declarations */ + @@ -6335,7 +6335,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/drivers/atm/tneta1570.h Tue Mar 11 11:59:43 1997 ++++ work/drivers/atm/tneta1570.h Wed Mar 19 20:43:08 1997 @@ -0,0 +1,390 @@ +/* drivers/atm/tneta1570.h - TI TNETA1570 (SAR) declarations */ + @@ -11018,7 +11018,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/include/linux/atmclip.h Tue Mar 11 12:00:40 1997 ++++ work/include/linux/atmclip.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,37 @@ +/* atmclip.h - Classical IP over ATM */ + @@ -11058,7 +11058,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/include/linux/atmdev.h Tue Mar 11 11:54:53 1997 ++++ work/include/linux/atmdev.h Wed Mar 19 20:41:55 1997 @@ -0,0 +1,258 @@ +/* atmdev.h - ATM device driver declarations */ + @@ -13138,7 +13138,7 @@ + if (atm_vcc[i].family) fn(atm_vcc+i); +} --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/net/atm/static.h Tue Mar 11 12:00:41 1997 ++++ work/net/atm/static.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,29 @@ +/* net/atm/static.h - Staticly allocated resources */ + @@ -13997,7 +13997,7 @@ + return 0; +} --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/net/atm/signaling.h Tue Mar 11 20:10:54 1997 ++++ work/net/atm/signaling.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,25 @@ +/* net/atm/signaling.h - ATM signaling */ + @@ -14638,7 +14638,7 @@ + return 0; +} --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/net/atm/atmarp.h Tue Mar 11 12:00:41 1997 ++++ work/net/atm/atmarp.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,53 @@ +/* net/atm/atmarp.h - RFC1577 ATM ARP */ + @@ -14694,7 +14694,7 @@ + +#endif --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/net/atm/ipcommon.h Tue Mar 11 12:01:26 1997 ++++ work/net/atm/ipcommon.h Wed Mar 19 20:44:55 1997 @@ -0,0 +1,73 @@ +/* net/atm/ipcommon.h - Common items for all ways of doing IP over ATM */ + @@ -16223,7 +16223,7 @@ extern void fddi_setup(struct device *dev); extern int ether_config(struct device *dev, struct ifmap *map); --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/include/linux/atmarp.h Tue Mar 11 12:00:40 1997 ++++ work/include/linux/atmarp.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,99 @@ +/* atmarp.h - ATM ARP protocol and kernel-demon interface definitions */ + @@ -16586,8 +16586,8 @@ inode->i_mode = S_IFREG | S_IRUSR; inode->i_op = &proc_kcore_inode_operations; --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/net/atm/proc.c Mon Feb 3 23:15:51 1997 -@@ -0,0 +1,501 @@ ++++ work/net/atm/proc.c Wed Mar 19 21:01:30 1997 +@@ -0,0 +1,503 @@ +/* net/atm/proc.c - ATM /proc interface */ + +/* Written 1995-1997 by Werner Almesberger, EPFL LRC */ @@ -16827,7 +16827,8 @@ + +static const char *arequipa_state(const struct atm_vcc *vcc) +{ -+ if (!(vcc->flags & ATM_VF_REGIS)) return "DOOMED"; ++ if (!(vcc->flags & ATM_VF_REGIS) && vcc->family != PF_ATMPVC) ++ return "DOOMED"; + if (vcc->upper) return "ATTACHED"; + return "DANGLING"; +} @@ -16954,7 +16955,8 @@ +#ifdef CONFIG_AREQUIPA + case PROC_ATM_AREQUIPA: + while (*pos <= MAX_ATM_VCC) -+ if (atm_vcc[*pos-1].family == PF_ATMSVC && ++ if ((atm_vcc[*pos-1].family == PF_ATMPVC || ++ atm_vcc[*pos-1].family == PF_ATMSVC) && + atm_vcc[*pos-1].push == atm_push_arequipa) + break; + else (*pos)++; @@ -17322,7 +17324,7 @@ * Called once on startup. */ --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/include/linux/atmlec.h Tue Mar 11 12:00:40 1997 ++++ work/include/linux/atmlec.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,64 @@ +/* + * @@ -18038,7 +18040,7 @@ + return i; +} --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/net/atm/lec.h Tue Mar 11 12:00:41 1997 ++++ work/net/atm/lec.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,107 @@ +/* + * @@ -19195,7 +19197,7 @@ +} + --- /dev/null Mon Jul 18 01:46:18 1994 -+++ work/net/atm/lec_arpc.h Tue Mar 11 12:00:41 1997 ++++ work/net/atm/lec_arpc.h Wed Mar 19 20:44:11 1997 @@ -0,0 +1,101 @@ +/* + * Lec arp cache diff -ur --new-file old/atm/doc/usage.tex new/atm/doc/usage.tex --- old/atm/doc/usage.tex Mon Mar 10 16:40:31 1997 +++ new/atm/doc/usage.tex Thu Mar 27 19:01:31 1997 @@ -1,7 +1,7 @@ %%def%:= %:\begin{verbatim} -%:Usage instructions - ATM on Linux, release 0.26 (pre-alpha) +%:Usage instructions - ATM on Linux, release 0.28 (pre-alpha) %:------------------------------------------------------------- %: %:\end{verbatim} @@ -38,14 +38,14 @@ \title{ATM on Linux \\ User's guide \\ - Release 0.27 (pre-alpha)} + Release 0.28 (pre-alpha)} \author{Werner Almesberger \\ {\tt werner.almesberger@lrc.di.epfl.ch} \\ \\ Laboratoire de R\'eseaux de Communication (LRC) \\ EPFL, CH-1015 Lausanne, Switzerland} -\date{March 10, 1997} +\date{March 27, 1997} \begin{document} \maketitle @@ -81,7 +81,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.26.tar.gz} + \url{ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.28.tar.gz} \item the Linux kernel, version 2.0.25, e.g. from \url{ftp://ftp.cs.helsinki.fi/pub/Software/Linux/Kernel/v2.0/linux-2.0.25.tar.gz} \item Perl, version 4 or 5 @@ -98,7 +98,7 @@ distribution: \begin{verbatim} -tar xfz atm-0.26.tar.gz +tar xfz atm-0.28.tar.gz \end{verbatim} and the kernel source: diff -ur --new-file old/atm/doc/usage.txt new/atm/doc/usage.txt --- old/atm/doc/usage.txt Tue Mar 11 23:23:36 1997 +++ new/atm/doc/usage.txt Thu Mar 27 19:32:39 1997 @@ -1,4 +1,4 @@ -Usage instructions - ATM on Linux, release 0.26 (pre-alpha) +Usage instructions - ATM on Linux, release 0.28 (pre-alpha) ------------------------------------------------------------- For updates of ATM on Linux, please check the Web page at @@ -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.26.tar.gz + ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.28.tar.gz - the Linux kernel, version 2.0.25, e.g. from ftp://ftp.cs.helsinki.fi/pub/Software/Linux/Kernel/v2.0/linux-2.0.25.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.26.tar.gz +tar xfz atm-0.28.tar.gz and the kernel source: diff -ur --new-file old/atm/lib/ans.c new/atm/lib/ans.c --- old/atm/lib/ans.c Fri Mar 7 17:19:46 1997 +++ new/atm/lib/ans.c Wed Mar 19 21:28:56 1997 @@ -4,7 +4,7 @@ /* - * This stuff is a temporary hack to avoid using gethostbyname_insap and such + * This stuff is a temporary hack to avoid using gethostbyname_nsap and such * without doing the "full upgrade" to getaddrinfo/getnameinfo. This also * serves as an exercise for me to get all the details right before I propose * a patch that would eventually end up in libc (and that should therefore be diff -ur --new-file old/atm/mkdist new/atm/mkdist --- old/atm/mkdist Tue Mar 11 23:38:23 1997 +++ new/atm/mkdist Thu Mar 20 13:38:38 1997 @@ -100,7 +100,7 @@ atm/lane/packet.h atm/lane/timers.h atm/lane/timers.c atm/lane/units.c \ atm/lane/units.h \ atm/aqd/Makefile atm/aqd/arequipad.c atm/aqd/io.h atm/aqd/io.c \ - atm/aqd/arequipad.8 \ + atm/aqd/arequipad.8 atm/aqd/aqpvc.c atm/aqd/aqpvc.8 \ atm/extra/extra.html atm/extra/Makefile atm/extra/tcpdump-3.0.4-1.patch \ atm/extra/bind-4.9.5-REL.patch atm/extra/hosts2ans.pl \ atm/config/README atm/config/Makefile atm/config\ diff -ur --new-file old/atm/saal/sscop.c new/atm/saal/sscop.c --- old/atm/saal/sscop.c Mon Nov 25 18:28:13 1996 +++ new/atm/saal/sscop.c Wed Mar 26 17:38:43 1997 @@ -1,6 +1,6 @@ /* sscop.c - SSCOP (Q.2110) protocol */ -/* Written 1995-1996 by Werner Almesberger, EPFL-LRC */ +/* Written 1995-1997 by Werner Almesberger, EPFL-LRC */ #if 1 /* debugging only */ @@ -826,7 +826,7 @@ diag(COMPONENT,DIAG_DEBUG,"Timer IDLE has expired"); dsc->timer_idle = NULL; START_TIMER(noresp); - sscop_poll_exp(user); + sscop_common_exp(user); } diff -ur --new-file old/atm/sigd/atmsigd.c new/atm/sigd/atmsigd.c --- old/atm/sigd/atmsigd.c Tue Feb 25 15:56:53 1997 +++ new/atm/sigd/atmsigd.c Wed Mar 26 17:40:00 1997 @@ -427,6 +427,7 @@ diag(COMPONENT,DIAG_ERROR,"chdir %s: %s",dump_dir,strerror(errno)); diag(COMPONENT,DIAG_INFO,"Acting as %s side",net ? "NETWORK" : "USER"); if (open_all()) return 1; + init_current_time(); init_addr(); q_start(); start_saal(&saal,&ops,NULL); diff -ur --new-file old/atm/sigd/io.c new/atm/sigd/io.c --- old/atm/sigd/io.c Tue Mar 11 12:01:03 1997 +++ new/atm/sigd/io.c Wed Mar 26 17:40:13 1997 @@ -274,6 +274,12 @@ } +void init_current_time(void) +{ + gettimeofday(&now,NULL); +} + + void poll_loop(void) { fd_set perm,set; diff -ur --new-file old/atm/sigd/io.h new/atm/sigd/io.h --- old/atm/sigd/io.h Tue Feb 25 15:12:03 1997 +++ new/atm/sigd/io.h Wed Mar 26 17:40:06 1997 @@ -25,6 +25,7 @@ int open_all(void); +void init_current_time(void); void poll_loop(void); void close_all(void); diff -ur --new-file old/atm/sigd/kernel.c new/atm/sigd/kernel.c --- old/atm/sigd/kernel.c Tue Mar 11 20:01:47 1997 +++ new/atm/sigd/kernel.c Wed Mar 26 18:16:10 1997 @@ -255,8 +255,6 @@ if (sock->state == ss_connected) diag(COMPONENT,DIAG_INFO,"Active close (CR 0x%06X)", sock->call_ref); - /* fall through */ - case ss_hold: send_release(sock, #ifdef UNI31 ATM_CV_NORMAL_CLEAR @@ -265,8 +263,7 @@ #endif ); START_TIMER(sock,T308_1); - new_state(sock,sock->state != ss_hold ? ss_rel_req : - ss_wait_rel); + new_state(sock,ss_rel_req); return; case ss_rel_ind: send_release_complete(sock->call_ref,0); /* @@@ */ diff -ur --new-file old/atm/sigd/proto.c new/atm/sigd/proto.c --- old/atm/sigd/proto.c Tue Feb 25 16:58:54 1997 +++ new/atm/sigd/proto.c Wed Mar 26 18:18:10 1997 @@ -24,8 +24,7 @@ const char *state_name[] = { /* formatting aligned with STATE */ "", "ss_null", "ss_listening", "ss_connecting", "ss_connected", "ss_indicated", "ss_accepting", "ss_zombie", - "ss_hold", "ss_wait_rel", "ss_wait_close","ss_rel_req", - "ss_rel_ind" }; + "ss_wait_rel", "ss_wait_close","ss_rel_req", "ss_rel_ind" }; const char *qs_name[] = { "NULL", "CALL_INIT", "", "OUT_PROC", @@ -39,8 +38,7 @@ const Q2931_STATE state_map[] = { /* formatting aligned with STATE */ qs_null, qs_null, qs_null, qs_call_init, qs_active, qs_in_proc, qs_conn_req, qs_null, - qs_active, qs_rel_req, qs_null, qs_rel_req, - qs_rel_ind }; + qs_rel_req, qs_null, qs_rel_req, qs_rel_ind }; const PARTY_STATE eps_map[] = { ps_null, ps_add_init, ps_null, ps_add_init, /* 0 */ diff -ur --new-file old/atm/sigd/proto.h new/atm/sigd/proto.h --- old/atm/sigd/proto.h Fri Feb 21 21:06:53 1997 +++ new/atm/sigd/proto.h Wed Mar 26 18:17:30 1997 @@ -15,8 +15,7 @@ typedef enum { /* formatting aligned with state_map and others */ ss_invalid, ss_null, ss_listening, ss_connecting, ss_connected, ss_indicated, ss_accepting, ss_zombie, - ss_hold, ss_wait_rel, ss_wait_close, ss_rel_req, - ss_rel_ind + ss_wait_rel, ss_wait_close, ss_rel_req, ss_rel_ind } STATE; typedef enum { qs_null,qs_call_init,qs_out_proc = 3,qs_conn_req = 8, diff -ur --new-file old/atm/sigd/q2931.c new/atm/sigd/q2931.c --- old/atm/sigd/q2931.c Tue Mar 11 21:46:10 1997 +++ new/atm/sigd/q2931.c Wed Mar 26 18:16:56 1997 @@ -378,8 +378,6 @@ diag(COMPONENT,DIAG_INFO,"Passive close (CR 0x%06X)", sock->call_ref); send_close(sock); - /* fall through */ - case ss_hold: new_state(sock,ss_rel_ind); return; case ss_indicated: @@ -399,8 +397,8 @@ set_error(sock,-ENETRESET); /* fall through */ case QMSG_STATUS: /* fall through when clearing */ - case QMSG_REL_COMP: /* basically any state (except LISTENING, - ZOMBIE, REL_IND) */ + case QMSG_REL_COMP: /* basically any state (except LISTENING and + ZOMBIE) */ { unsigned char cause; @@ -438,7 +436,7 @@ sock->call_ref); send_close(sock); /* fall through */ - case ss_hold: + case ss_rel_ind: new_state(sock,ss_wait_close); return; case ss_indicated: .