Ethereal-dev: RE: [Ethereal-dev] 'ip6' filter on Solaris does not work?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Gilbert Ramirez <gram@xxxxxxxxxxxxxxx>
Date: 13 Nov 2002 10:25:23 -0600
On Wed, 2002-11-13 at 06:13, Yaniv Kaul wrote:
> Correction, it usually crashes.
> 
> program terminated by signal ABRT (Abort)
> 0xfee1d3d4: _libc_kill+0x0008:  bgeu    _libc_kill+0x30
> Current function is capture
> dbx: warning: can't find file "/home/gerald/devel/ethereal/capture.c"
> dbx: warning: see `help finding-files'
> (/opt/WS6U2/bin/sparcv9/dbx) where
>   [1] _libc_kill(0x0, 0x6, 0xffbec2c0, 0x500c00, 0x447000, 0x515000), at
> 0xfee1d3d4
>   [2] abort(0x24fa38, 0x3c, 0x24fa28, 0x600108, 0x500c00, 0x0), at
> 0xfedb5690
>   [3] gen_proto_abbrev(0x10, 0x98, 0x25750c, 0x0, 0x446800, 0x449800), at
> 0x24fa28
>   [4] pcap_parse(0x4e, 0x44c000, 0x0, 0x0, 0x515400, 0xffbecbf8), at
> 0x25750c
>   [5] pcap_compile(0x5fff90, 0xffbfde88, 0x514c00, 0x1, 0xffffff00,
> 0x505400), at 0x24e3cc

It is libpcap that is crashing. From looking at libpcap's gencode.c
file, where gen_proto_abbrev() is defined, gen_proto_abbrev() will
abort() if the protocol is not known.  This case in that function:

#ifdef INET6
    case Q_IPV6:
        b1 = gen_linktype(ETHERTYPE_IPV6);
        break;

#ifndef IPPROTO_ICMPV6
#define IPPROTO_ICMPV6  58
#endif
    case Q_ICMPV6:
        b1 = gen_proto(IPPROTO_ICMPV6, Q_IPV6, Q_DEFAULT);
        break;
#endif /* INET6 */


makes me think that your libpcap does not have IPv6 support compiled in.

--gilbert