Ethereal-dev: [Ethereal-dev] nettl (HP-UX) fixes
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "Mark C. Brown" <mbrown@xxxxxxxxxx>
Date: Fri, 03 Sep 2004 14:49:17 -0400
Greetings, Following fixes/changes for nettl (HP-UX): 1) Changed nettl subsystem ID's to decimal so as to match /etc/nettlgen.conf and ease maintenance 2) Added support for hp_apaport (PAgP), hp_apalacp, and IPv6 subsystem trace records 3) Corrected handling of LOOPBACK trace records -- "If a train station is where a train stops, | Mark C. Brown then what's a workstation?" -- D. Huber | mbrown@xxxxxxxxxx
Index: wiretap/nettl.c =================================================================== --- wiretap/nettl.c (revision 11879) +++ wiretap/nettl.c (working copy) @@ -302,14 +302,19 @@ case NETTL_SUBSYS_NS_LS_LOOPBACK : case NETTL_SUBSYS_NS_LS_TCP : case NETTL_SUBSYS_NS_LS_UDP : + case NETTL_SUBSYS_HP_APAPORT : + case NETTL_SUBSYS_HP_APALACP : + case NETTL_SUBSYS_NS_LS_IPV6 : + case NETTL_SUBSYS_NS_LS_ICMPV6 : case NETTL_SUBSYS_NS_LS_ICMP : if( (encap[3] == NETTL_SUBSYS_NS_LS_IP) || (encap[3] == NETTL_SUBSYS_NS_LS_LOOPBACK) || (encap[3] == NETTL_SUBSYS_NS_LS_UDP) - || (encap[3] == NETTL_SUBSYS_NS_LS_TCP) ) { + || (encap[3] == NETTL_SUBSYS_NS_LS_TCP) + || (encap[3] == NETTL_SUBSYS_NS_LS_ICMP) + || (encap[3] == NETTL_SUBSYS_NS_LS_IPV6) + || (encap[3] == NETTL_SUBSYS_NS_LS_ICMPV6) ) { phdr->pkt_encap = WTAP_ENCAP_RAW_IP; - } else if (encap[3] == NETTL_SUBSYS_NS_LS_ICMP) { - phdr->pkt_encap = WTAP_ENCAP_UNKNOWN; } else if (encap[3] == NETTL_SUBSYS_PCI_FDDI) { phdr->pkt_encap = WTAP_ENCAP_FDDI; } else if( (encap[3] == NETTL_SUBSYS_PCI_TR) @@ -371,6 +376,26 @@ phdr->len = length - 3; length = pntohl(&ip_hdr.caplen); phdr->caplen = length - 3; + } else if (encap[3] == NETTL_SUBSYS_NS_LS_LOOPBACK) { + /* LOOPBACK has an extra 26 bytes of padding */ + bytes_read = file_read(dummy, 1, 26, fh); + if (bytes_read != 26) { + *err = file_error(fh); + if (*err != 0) + return -1; + if (bytes_read != 0) { + *err = WTAP_ERR_SHORT_READ; + return -1; + } + return 0; + } + offset += 26; + length = pntohl(&ip_hdr.length); + if (length <= 0) + return 0; + phdr->len = length - 26; + length = pntohl(&ip_hdr.caplen); + phdr->caplen = length - 26; } else { length = pntohl(&ip_hdr.length); if (length <= 0) Index: wiretap/nettl.h =================================================================== --- wiretap/nettl.h (revision 11879) +++ wiretap/nettl.h (working copy) @@ -24,68 +24,74 @@ #ifndef __NETTL_H__ #define __NETTL_H__ -#define NETTL_SUBSYS_NS_LS_LOGGING 0x00 -#define NETTL_SUBSYS_NS_LS_NFT 0x01 -#define NETTL_SUBSYS_NS_LS_LOOPBACK 0x02 -#define NETTL_SUBSYS_NS_LS_NI 0x03 -#define NETTL_SUBSYS_NS_LS_IPC 0x04 -#define NETTL_SUBSYS_NS_LS_SOCKREGD 0x05 -#define NETTL_SUBSYS_NS_LS_TCP 0x06 -#define NETTL_SUBSYS_NS_LS_PXP 0x07 -#define NETTL_SUBSYS_NS_LS_UDP 0x08 -#define NETTL_SUBSYS_NS_LS_IP 0x09 -#define NETTL_SUBSYS_NS_LS_PROBE 0x0A -#define NETTL_SUBSYS_NS_LS_DRIVER 0x0B -#define NETTL_SUBSYS_NS_LS_RLBD 0x0C -#define NETTL_SUBSYS_NS_LS_BUFS 0x0D -#define NETTL_SUBSYS_NS_LS_CASE21 0x0E -#define NETTL_SUBSYS_NS_LS_ROUTER21 0x0F -#define NETTL_SUBSYS_NS_LS_NFS 0x10 -#define NETTL_SUBSYS_NS_LS_NETISR 0x11 -#define NETTL_SUBSYS_NS_LS_NSE 0x13 -#define NETTL_SUBSYS_NS_LS_STRLOG 0x14 -#define NETTL_SUBSYS_NS_LS_TIRDWR 0x15 -#define NETTL_SUBSYS_NS_LS_TIMOD 0x16 -#define NETTL_SUBSYS_NS_LS_ICMP 0x17 -#define NETTL_SUBSYS_FILTER 0x1A -#define NETTL_SUBSYS_NAME 0x1B -#define NETTL_SUBSYS_IGMP 0x1D -#define NETTL_SUBSYS_SX25L2 0x22 -#define NETTL_SUBSYS_SX25L3 0x23 -#define NETTL_SUBSYS_FTAM_INIT 0x40 -#define NETTL_SUBSYS_FTAM_RESP 0x41 -#define NETTL_SUBSYS_FTAM_VFS 0x46 -#define NETTL_SUBSYS_FTAM_USER 0x48 -#define NETTL_SUBSYS_OTS 0x5A -#define NETTL_SUBSYS_NETWORK 0x5B -#define NETTL_SUBSYS_TRANSPORT 0x5C -#define NETTL_SUBSYS_SESSION 0x5D -#define NETTL_SUBSYS_ACSE_PRES 0x5E -#define NETTL_SUBSYS_SHM 0x74 -#define NETTL_SUBSYS_ACSE_US 0x77 -#define NETTL_SUBSYS_HPS 0x79 -#define NETTL_SUBSYS_CM 0x7A -#define NETTL_SUBSYS_ULA_UTILS 0x7B -#define NETTL_SUBSYS_EM 0x7C +/* nettl subsystems are defined in /etc/nettlgen.conf */ +#define NETTL_SUBSYS_NS_LS_LOGGING 0 +#define NETTL_SUBSYS_NS_LS_NFT 1 +#define NETTL_SUBSYS_NS_LS_LOOPBACK 2 +#define NETTL_SUBSYS_NS_LS_NI 3 +#define NETTL_SUBSYS_NS_LS_IPC 4 +#define NETTL_SUBSYS_NS_LS_SOCKREGD 5 +#define NETTL_SUBSYS_NS_LS_TCP 6 +#define NETTL_SUBSYS_NS_LS_PXP 7 +#define NETTL_SUBSYS_NS_LS_UDP 8 +#define NETTL_SUBSYS_NS_LS_IP 9 +#define NETTL_SUBSYS_NS_LS_PROBE 10 +#define NETTL_SUBSYS_NS_LS_DRIVER 11 +#define NETTL_SUBSYS_NS_LS_RLBD 12 +#define NETTL_SUBSYS_NS_LS_BUFS 13 +#define NETTL_SUBSYS_NS_LS_CASE21 14 +#define NETTL_SUBSYS_NS_LS_ROUTER21 15 +#define NETTL_SUBSYS_NS_LS_NFS 16 +#define NETTL_SUBSYS_NS_LS_NETISR 17 +#define NETTL_SUBSYS_NS_LS_NSE 18 +#define NETTL_SUBSYS_NS_LS_STRLOG 19 +#define NETTL_SUBSYS_NS_LS_TIRDWR 21 +#define NETTL_SUBSYS_NS_LS_TIMOD 22 +#define NETTL_SUBSYS_NS_LS_ICMP 23 +#define NETTL_SUBSYS_FILTER 26 +#define NETTL_SUBSYS_NAME 27 +#define NETTL_SUBSYS_IGMP 29 +#define NETTL_SUBSYS_SX25L2 34 +#define NETTL_SUBSYS_SX25L3 35 +#define NETTL_SUBSYS_FTAM_INIT 64 +#define NETTL_SUBSYS_FTAM_RESP 65 +#define NETTL_SUBSYS_FTAM_VFS 70 +#define NETTL_SUBSYS_FTAM_USER 72 +#define NETTL_SUBSYS_OTS 90 +#define NETTL_SUBSYS_NETWORK 91 +#define NETTL_SUBSYS_TRANSPORT 92 +#define NETTL_SUBSYS_SESSION 93 +#define NETTL_SUBSYS_ACSE_PRES 94 +#define NETTL_SUBSYS_SHM 116 +#define NETTL_SUBSYS_ACSE_US 119 +#define NETTL_SUBSYS_HPS 121 +#define NETTL_SUBSYS_CM 122 +#define NETTL_SUBSYS_ULA_UTILS 123 +#define NETTL_SUBSYS_EM 124 +#define NETTL_SUBSYS_HP_APAPORT 189 +#define NETTL_SUBSYS_HP_APALACP 190 +#define NETTL_SUBSYS_NS_LS_IPV6 244 +#define NETTL_SUBSYS_NS_LS_ICMPV6 245 + /* Ethernet cards */ -#define NETTL_SUBSYS_LAN100 0xA4 -#define NETTL_SUBSYS_BASE100 0xAD -#define NETTL_SUBSYS_GSC100BT 0xB2 -#define NETTL_SUBSYS_PCI100BT 0xB3 -#define NETTL_SUBSYS_SPP100BT 0xB4 -#define NETTL_SUBSYS_GELAN 0xB9 -#define NETTL_SUBSYS_BTLAN 0xD2 -#define NETTL_SUBSYS_INTL100 0xE9 -#define NETTL_SUBSYS_IGELAN 0xFC -#define NETTL_SUBSYS_IETHER 0xFD +#define NETTL_SUBSYS_LAN100 164 +#define NETTL_SUBSYS_BASE100 173 +#define NETTL_SUBSYS_GSC100BT 178 +#define NETTL_SUBSYS_PCI100BT 179 +#define NETTL_SUBSYS_SPP100BT 180 +#define NETTL_SUBSYS_GELAN 185 +#define NETTL_SUBSYS_BTLAN 210 +#define NETTL_SUBSYS_INTL100 233 +#define NETTL_SUBSYS_IGELAN 252 +#define NETTL_SUBSYS_IETHER 253 /* FDDI cards */ -#define NETTL_SUBSYS_PCI_FDDI 0xB0 +#define NETTL_SUBSYS_PCI_FDDI 176 /* Token Ring cards */ -#define NETTL_SUBSYS_TOKEN 0x1F -#define NETTL_SUBSYS_PCI_TR 0xBB +#define NETTL_SUBSYS_TOKEN 31 +#define NETTL_SUBSYS_PCI_TR 187 int nettl_open(wtap *wth, int *err, gchar **err_info);
- Follow-Ups:
- Re: [Ethereal-dev] nettl (HP-UX) fixes
- From: Guy Harris
- Re: [Ethereal-dev] nettl (HP-UX) fixes
- Prev by Date: Re: [Ethereal-dev] undefined strtoull on Win32 with latest SVN
- Next by Date: [Ethereal-dev] [patch] packet-ses.c as a sub-dissector of cotp_is
- Previous by thread: Re: [Ethereal-dev] undefined strtoull on Win32 with latest SVN
- Next by thread: Re: [Ethereal-dev] nettl (HP-UX) fixes
- Index(es):