diff -ur --new-file old/atm/BUGS new/atm/BUGS --- old/atm/BUGS Mon Oct 5 10:01:23 1998 +++ new/atm/BUGS Tue Oct 6 13:18:26 1998 @@ -1,4 +1,4 @@ -Known bugs and restrictions in version 0.46 +Known bugs and restrictions in version 0.47 =========================================== - 2.1.117 kernel may not compile properly with sound enabled diff -ur --new-file old/atm/CHANGES new/atm/CHANGES --- old/atm/CHANGES Mon Oct 5 19:21:51 1998 +++ new/atm/CHANGES Tue Oct 6 13:18:50 1998 @@ -1,3 +1,23 @@ +Version 0.46 to 0.47 (6-OCT-1998) +==================== + +Bug fixes +--------- + + - qgen didn't build for all UNI versions (fixed by Richard Gooch) + +New features +------------ + + - ilmid: new option -u to set UNI version (3.0, 3.1, or 4.0). Only available + if compiled with -DDYNAMIC_UNI. + +Other changes +------------- + + - ilmid: getIpAddr: improved robustness and added debugging output + + Version 0.45 to 0.46 (5-OCT-1998) ==================== diff -ur --new-file old/atm/README new/atm/README --- old/atm/README Mon Oct 5 09:39:15 1998 +++ new/atm/README Tue Oct 6 13:12:59 1998 @@ -1,4 +1,4 @@ -ATM on Linux, release 0.46 (alpha) by Werner Almesberger, EPFL ICA +ATM on Linux, release 0.47 (alpha) by Werner Almesberger, EPFL ICA ============================================== Werner.Almesberger@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 Mon Oct 5 19:23:08 1998 +++ new/atm/USAGE Tue Oct 6 13:13:49 1998 @@ -1,4 +1,4 @@ -Usage instructions - ATM on Linux, release 0.46 +Usage instructions - ATM on Linux, release 0.47 ------------------------------------------------- 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.46.tar.gz + ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.47.tar.gz - the Linux kernel, version 2.1.117, e.g. from ftp://ftp.kernel.org/pub/linux/kernel/v2.1/linux-2.1.117.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.46.tar.gz +tar xfz atm-0.47.tar.gz and the kernel source: diff -ur --new-file old/atm/VERSION new/atm/VERSION --- old/atm/VERSION Mon Oct 5 15:39:50 1998 +++ new/atm/VERSION Tue Oct 6 13:13:06 1998 @@ -1 +1 @@ -0.46 +0.47 diff -ur --new-file old/atm/doc/usage.tex new/atm/doc/usage.tex --- old/atm/doc/usage.tex Mon Oct 5 19:22:55 1998 +++ new/atm/doc/usage.tex Tue Oct 6 13:13:25 1998 @@ -1,7 +1,7 @@ %%def%:= %:\begin{verbatim} -%:Usage instructions - ATM on Linux, release 0.46 +%:Usage instructions - ATM on Linux, release 0.47 %:------------------------------------------------- %: %:\end{verbatim} @@ -38,14 +38,14 @@ \title{ATM on Linux \\ User's guide \\ - Release 0.46 (alpha)} + Release 0.47 (alpha)} \author{Werner Almesberger \\ {\tt Werner.Almesberger@epfl.ch} \\ \\ Institute for computer Communications and Applications (ICA) \\ EPFL, CH-1015 Lausanne, Switzerland} -\date{October 5, 1998} +\date{October 6, 1998} \begin{document} \maketitle @@ -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.46.tar.gz} + \url{ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.47.tar.gz} \item the Linux kernel, version 2.1.117, e.g. from \url{ftp://ftp.kernel.org/pub/linux/kernel/v2.1/linux-2.1.117.tar.gz} \item Perl, version 4 or 5 @@ -99,7 +99,7 @@ distribution: \begin{verbatim} -tar xfz atm-0.46.tar.gz +tar xfz atm-0.47.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 Mon Oct 5 19:23:08 1998 +++ new/atm/doc/usage.txt Tue Oct 6 13:13:49 1998 @@ -1,4 +1,4 @@ -Usage instructions - ATM on Linux, release 0.46 +Usage instructions - ATM on Linux, release 0.47 ------------------------------------------------- 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.46.tar.gz + ftp://lrcftp.epfl.ch/pub/linux/atm/dist/atm-0.47.tar.gz - the Linux kernel, version 2.1.117, e.g. from ftp://ftp.kernel.org/pub/linux/kernel/v2.1/linux-2.1.117.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.46.tar.gz +tar xfz atm-0.47.tar.gz and the kernel source: diff -ur --new-file old/atm/ilmid/atmf_uni.c new/atm/ilmid/atmf_uni.c --- old/atm/ilmid/atmf_uni.c Thu Sep 24 18:24:30 1998 +++ new/atm/ilmid/atmf_uni.c Tue Oct 6 12:11:23 1998 @@ -41,13 +41,13 @@ AsnInt atmfPortIndexValue = 0; IpAddress atmfMyIpNmAddressValue = {4 , NULL}; -#ifdef UNI40 -AsnInt atmfAtmLayerUniVersionValue = 4; // version4point0(4) +#if defined(UNI30) || defined(DYNAMIC_UNI) +AsnInt atmfAtmLayerUniVersionValue = 2; // version3point0(2) #else -#if defined(UNI31) +#ifdef UNI31 AsnInt atmfAtmLayerUniVersionValue = 3; // version3point1(3) #else -AsnInt atmfAtmLayerUniVersionValue = 2; // version3point0(2) +AsnInt atmfAtmLayerUniVersionValue = 4; // version4point0(4) #endif #endif diff -ur --new-file old/atm/ilmid/ilmid.c new/atm/ilmid/ilmid.c --- old/atm/ilmid/ilmid.c Thu Apr 16 09:17:19 1998 +++ new/atm/ilmid/ilmid.c Tue Oct 6 13:11:34 1998 @@ -57,6 +57,9 @@ void usage(char *name) { fprintf(stderr, "usage: %s [-b] [-d] [-v] [-l logfile] [-x] [-q qos] " +#ifdef DYNAMIC_UNI + "[ -u uni ] " +#endif "\n", name); exit(1); } @@ -290,11 +293,20 @@ case 'x': no_var_bindings = 1; break; +#ifdef DYNAMIC_UNI + case 'u': + if (!strcmp(optarg,"3.0") || !strcmp(optarg,"30")) + atmfAtmLayerUniVersionValue = 2; // version3point0(2) + else if (!strcmp(optarg,"3.1") || !strcmp(optarg,"31")) + atmfAtmLayerUniVersionValue = 3; // version3point1(3) + else if (!strcmp(optarg,"4.0") || !strcmp(optarg,"40")) + atmfAtmLayerUniVersionValue = 4; // version4point0(4) + else usage(argv[0]); +#endif case 'h': default: usage(argv[0]); } - if(argc == optind + 1) itf = atoi(argv[optind++]); diff -ur --new-file old/atm/ilmid/mib.c new/atm/ilmid/mib.c --- old/atm/ilmid/mib.c Thu Sep 24 18:17:18 1998 +++ new/atm/ilmid/mib.c Tue Oct 6 13:11:30 1998 @@ -323,25 +323,25 @@ AsnInt getIpAddr(VarBind *varbind, Variable *var) { if (!((IpAddress*) var->value)->octs) {/* not set */ + unsigned char *p; uint32_t ip; + + ((IpAddress*) var->value)->octs = p = alloc(4); ip = get_local_ip(); - if (ip) { - ((IpAddress*) var->value)->octs = alloc(4); - *((uint32_t *) ((IpAddress*) var->value)->octs) = ip; + if (ip) *((uint32_t *) p) = ip; + else { + struct hostent* h; + char hostname[128]; + + if (!gethostname(hostname, sizeof(hostname)-1)) { + h = (struct hostent*) gethostbyname(hostname); + if (!h) memset(p,4,0); + else memcpy(p,h->h_addr_list[0],4); + } } + diag(COMPONENT,DIAG_DEBUG,"Local IP address is %d.%d.%d.%d",p[0],p[1], + p[2],p[3]); } - if (!((IpAddress*) var->value)->octs) /* still not set */ - { - struct hostent* h; - char hostname[128]; - ((IpAddress*) var->value)->octs = alloc(4); - if (!gethostname(hostname, sizeof(hostname)-1)) - { - h = (struct hostent*) gethostbyname(hostname); - *((uint32_t *) ((IpAddress*) var->value)->octs) = - *((uint32_t *) h->h_addr_list[0]); - } - }; varbind->value = Asn1Alloc(sizeof(ObjectSyntax)); varbind->value->choiceId = OBJECTSYNTAX_APPLICATION_WIDE; varbind->value->a.application_wide = Asn1Alloc(sizeof(ApplicationSyntax)); diff -ur --new-file old/atm/qgen/msg.fmt new/atm/qgen/msg.fmt --- old/atm/qgen/msg.fmt Mon Oct 5 18:55:19 1998 +++ new/atm/qgen/msg.fmt Tue Oct 6 12:26:08 1998 @@ -387,7 +387,15 @@ break ie_id6 <-224> } +#if defined(DYNAMIC_UNI) || defined(ALLOW_UNI30) ATM_CV_UCR_UNAVAIL_OLD,ATM_CV_UCR_UNAVAIL_NEW { # Note 8 +#else +#ifdef UNI30 + ATM_CV_UCR_UNAVAIL_OLD { # Note 8 +#else + ATM_CV_UCR_UNAVAIL_NEW { # Note 8 +#endif +#endif break ucr_id <-224> } diff -ur --new-file old/atm/qgen/uni.h new/atm/qgen/uni.h --- old/atm/qgen/uni.h Mon Oct 5 18:57:09 1998 +++ new/atm/qgen/uni.h Tue Oct 6 12:25:36 1998 @@ -137,7 +137,7 @@ #define ATM_CV_RES_UNAVAIL 47 /* resource unavailable, unspecified */ /* ----------------------------------- service or option not available */ #define ATM_CV_QOS_UNAVAIL 49 /* Quality of Service unavailable */ -#if defined(UNI30) || defined(DYNAMIC_UNI) +#if defined(UNI30) || defined(ALLOW_UNI30) || defined(DYNAMIC_UNI) #define ATM_CV_UCR_UNAVAIL_OLD 51 /* user cell rate not available (3.0) */ #endif #define ATM_CV_BBCAP_NOT_AUTH 57 /* bearer capability not authorized */ diff -ur --new-file old/atm/sigd.new/uni.c new/atm/sigd.new/uni.c --- old/atm/sigd.new/uni.c Mon Oct 5 18:56:15 1998 +++ new/atm/sigd.new/uni.c Tue Oct 6 13:35:36 1998 @@ -600,9 +600,9 @@ &sock->qos); new_state(sock,ss_mod_fin_ack); return; + _default: /* jump here if we don't want to understand a message */ #endif default: - _default: /* jump here if we don't want to understand a message */ diag(COMPONENT,DIAG_WARN,"Bad signaling message %d",mid); send_status(sock->sig,sock,0,ATM_CV_UNKNOWN_MSG_TYPE,mid); return; .