> Folks, I am attempting to build libpcap and tcpdump to support
> an OC-3 ATM interface on a Sun Ultra2 running Solaris 8.  The
> /dev/ba driver is being used.  I have built both packages from
> the libpcap-0.6.2 & tcpdump-3.6.2 source distributions with
> no configuration changes.  The ATM interface is install on the
> Ultra2 that I am using to build the code.  The system also has
> an hme interface which works fine with libpcap & tcpdump.
> When I attempt to use the /dev/ba interface, I get unrecognized
> mac type 18 error.

Ethereal can read atmsnoop capture files; they are just snoop capture
files with a non-documented-in-RFC-1761 link-layer types of 18, which is
in

        http://www.opengroup.org/onlinepubs/9638599/apdxf.htm

as

        #define DL_IPATM    0x12 /* ATM Classical IP interface */

The fact that it speaks of a "Classical IP interface", and that there's
also

        #define DL_ATM      0x11 /* ATM */

in there nonwithstanding, the link-layer header is a sort of a raw-ish
ATM header ("raw-ish" because there isn't a standard for "raw ATM
headers" as there is for, say, Ethernet/802.3 headers), rather than,
say, a DLT_ATM_RFC1483-type LLC header.

At

        http://mrpink.lerc.nasa.gov/118x/support.html

are, among other thinks, links to

        Modified tcpdump and libpcap for SUNatm DLPI support.  At least,
        a SUNATM-622 SBUS with SUNATM3.x drivers under Solaris2.7.  That
        is what we are running.  V2.x drivers may not work since it
        appears DLPI support may not be in there.  [Someone tried
        tcpdump-sunatm with V2.x drivers and it failed.  I don't have
        the drivers to test this...] I will try to add atmsnoop file
        read support for V2.x drivers after 118x project.  Should
        relativity[sic] straightforward.....

and the Big Fat Comment I stuck at the beginning of the Ethereal module
for reading snoop capture files says:

 * It also has a link to "convert.c", which is a program to convert files
 * from the format written by the "atmsnoop" program that comes with the
 * SunATM package to regular "snoop" format, claims that "SunATM 2.1 claimed
 * to be DL_FDDI (don't ask why).  SunATM 3.0 claims to be DL_IPATM, which
 * is 0x12".
 *
 * It also says that "ATM Mac header is 12 bytes long.", and seems to imply
 * that in an "atmsnoop" file, the header contains 2 bytes (direction and
 * VPI?), 2 bytes of VCI, 6 bytes of something, and 2 bytes of Ethernet
 * type; if those 6 bytes are 2 bytes of DSAP, 2 bytes of LSAP, 1 byte
 * of LLC control, and 3 bytes of SNAP OUI, that'd mean that an ATM
 * pseudo-header in an "atmsnoop" file is probably 1 byte of direction,
 * 1 byte of VPI, and 2 bytes of VCI.
 *
 * The aforementioned page also has a link to some capture files from
 * "atmsnoop"; this version of "snoop.c" appears to be able to read them.
 *
 * Source to an "atmdump" package, which includes a modified version of
 * "libpcap" to handle SunATM DLPI and an ATM driver for FreeBSD, and
 * also includes "atmdump", which is a modified "tcpdump", says that an
 * ATM packet handed up from the Sun driver for the Sun SBus ATM card on
 * Solaris 2.5.1 has 1 byte of direction, 1 byte of VPI, 2 bytes of VCI,
 * and then the ATM PDU, and suggests that the direction byte is 0x80 for
 * "transmitted" (presumably meaning DTE->DCE) and presumably not 0x80 for
 * "received" (presumably meaning DCE->DTE).
 *
 * In fact, the "direction" byte appears to have some other stuff, perhaps
 * a traffic type, in the lower 7 bits, with the 8th bit indicating the
 * direction.
 *
 * I don't know what the encapsulation of any of the other types is, so I
 * leave them all as WTAP_ENCAP_UNKNOWN.  I also don't know whether "snoop"
 * can handle any of them (it presumably can't handle ATM, otherwise Sun
 * wouldn't have supplied "atmsnoop"; even if it can't, this may be useful
 * reference information for anybody doing code to use DLPI to do raw packet
 * captures on those network types.

("it", in "It also has a link", refers to the page at
mrpink.lerc.nasa.gov).

Some of the information needed may be in header files distributed with
SunATM; I think I saw those headers on some machine around here,
although, as I remember, Sun stamped them out the wazoo with "THIS IS
PROPRIETARY TO SUN" copyright notices.

> I've installed Sun's ATM drivers with support
> for their ATM API.  Their atmsnoop program seems to work.
> However, I would like to use libpcap & tcpdump because
> of the generic support for other platforms such as Linux and
> because of the higher level applications that require libpcap/tcpdump.
> These would include ethereal and ntop.
> 
> Can you give me some suggestions as to an appropriate approach
> to this problem?

I'd be inclined to grab the patched tcpdump/libpcap sources in question
and see whether the changes could be made to a more modern flavor of
libpcap/tcpdump.  Unfortunately, those changes might also be compilable
only if you have SunATM installed; if so, there'd have to be some
configure-script checks for the relevant header files and #ifdefs.
-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:[EMAIL PROTECTED]?body=unsubscribe

Reply via email to