Argus on Bivio 7500
Jason Carr
jcarr at andrew.cmu.edu
Mon Aug 10 11:17:36 EDT 2009
I've attached the gdb output and the configure log. It looks like
pcap_get_selectable_fd is not available.
The gdb log doesn't seem indicate that it even touched pcap_dispatch.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: configure-log.txt
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20090810/224f1e06/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gdb-out.txt
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20090810/224f1e06/attachment-0001.txt>
-------------- next part --------------
On Aug 10, 2009, at 9:38 AM, Carter Bullard wrote:
> We discover if there is pcap_get_selectable_fd support at configure
> time, so
> the ./configure should be finding Bivio's libpcap library and
> testing its capability.
> Could you send the ./configure output to the list?
>
> The routine that handles the packet reading is the routine
> ArgusGetPackets(),
> which has a " do {...} while " loop that keeps reading packets, as
> long as
> pcap_dispatch() doesn't report any errors.
>
> If you break in ArgusGetPackets(), you should be able to step
> through to see
> what is not working:
>
> % gdb argus
> (gdb) break ArgusGetPackets
> Breakpoint 1 at 0x142c2: file ArgusSource.c, line 1995.
> (gdb) run (with whatever parameters you normally run argus with)
> Breakpoint 1, ArgusGetPackets (src=0x17e000) at ArgusSource.c:1995
> 1995 int tmp, i, width = 0, noerror = 1, fd;
> (gdb) n
>
> keep repeating the 'n'ext command to see where it goes.
>
> Carter
>
>
>
> On Aug 9, 2009, at 8:16 PM, Jason Carr wrote:
>
>> Adding some debug code or running gdb and setting a breakpoint on
>> pcap_dispatch, it doesn't seem like the pcap_dispatch code is ever
>> executing.
>>
>> I'm not sure if their pcap supports selectable fd's or how to
>> check. There's also two types of interfaces I'm dealing with, the
>> physical interfaces and the default pseudo interface.
>>
>> Thanks,
>>
>> Jason
>>
>> On Aug 7, 2009, at 10:16 AM, Carter Bullard wrote:
>>
>>> Hey Jason,
>>> Yes, Peter is right!!!
>>> Argus takes the "default" string, and the libpcap interface is
>>> giving us a pcap handle for
>>> that device. And we're getting a valid argus callback routine
>>> for the interface type, so
>>> all looks good. Problem is we're calling pcap_dispatch() but not
>>> getting a return code
>>> we like.
>>>
>>> Does the Bivio have gdb()? Need to find out what the return code
>>> is that
>>> pcap_dispatch() is returning. Does Bivio libpcap support
>>> selectable fd's?
>>>
>>> Carter
>>>
>>> On Aug 6, 2009, at 8:14 PM, Peter Van Epp wrote:
>>>
>>>> On Thu, Aug 06, 2009 at 10:22:27AM -0400, Jason Carr wrote:
>>>>> Sorry, maybe I was not clear... what I meant to say is that if
>>>>> you run
>>>>> tethereal -i default it will capture everything on any devices
>>>>> that the
>>>>> node has been assigned to use (tcpdump doesn't work right on
>>>>> Bivio but
>>>>> tethereal does).
>>>>
>>>> This seems to be a wireshark varient. From the online man page
>>>> try
>>>>
>>>> tehtereal -D
>>>>
>>>> that should give you a list of the interfaces supported (same as -
>>>> D in
>>>> tcpdump). That should give you a list of the available interfaces
>>>> which
>>>> likely includes default since it seems to be opening correctly.
>>>> Looking at the trace (comments inline) it looks like pcap in the
>>>> end doesn't return any packets and thus argus closes. Perhaps
>>>> something
>>>> odd with the Bivio pcap when default is the interface type (I'm
>>>> assuming
>>>> argus works if you specify a single interface)?
>>>>
>>>>>
>>>>> I attached the debug log for argus when I run argus:
>>>>>
>>>>> /usr/local/sbin/argus -X -U 128 -i default -P 561 -e 1 -D 999
>>>> <various argus housekeeping snipped>
>>>>
>>>>> argus[459]: 06 Aug 09 10:17:19.928253 ArgusOpenInterface()
>>>>> pcap_open_live(default) returned 0x1012dae8
>>>>
>>>> This looks to be after a successful pcap open in line 108 of
>>>> ArgusSource.c (at least in beta.5). If the open had errored we
>>>> should see
>>>> a different message from line 137 with an error message, so it
>>>> looks like
>>>> it has accepted "default" as a valid pcap device to open and
>>>> returned a
>>>> handle to it.
>>>>
>>>>> argus[459]: 06 Aug 09 10:17:19.928339
>>>>> Arguslookup_pcap_callback(1) returning 0x1000e940
>>>>
>>>> This looks to have returned a handler for the callback
>>>> successfully.
>>>>
>>>>> argus[459]: 06 Aug 09 10:17:19.928379
>>>>> ArgusOpenInterface(0x30070008, 'default') returning
>>>>
>>>> and returns an argus device and device name of "default" which
>>>> it looks
>>>> to have opened successfully.
>>>>
>>>>> argus[459]: 06 Aug 09 10:17:19.928411 ArgusPushBackList
>>>>> (0x1012d430, 0x1012dac8, 1) returning 1
>>>>> argus[459]: 06 Aug 09 10:17:19.928512 ArgusInitSource() returning
>>>>> argus[459]: 06 Aug 09 10:17:19.928553 ArgusCalloc (1, 40)
>>>>> returning 0x1012dd38
>>>>> argus[459]: 06 Aug 09 10:17:19.928586 ArgusNewList () returning
>>>>> 0x1012dd38
>>>>> argus[459]: 06 Aug 09 10:17:19.928626 ArgusCalloc (1, 128)
>>>>> returning 0x1012dd68
>>>>> argus[459]: 06 Aug 09 10:17:19.928663 ArgusGenerateInitialMar()
>>>>> returning
>>>>> argus[459]: 06 Aug 09 10:17:19.933547 ArgusEstablishListen(561,
>>>>> 0x7f8c3258) binding: any:561 family: 2
>>>>> argus[459]: 06 Aug 09 10:17:19.933646 ArgusEstablishListen(561,
>>>>> 0x7f8c3258) returning 4
>>>>> argus[459]: 06 Aug 09 10:17:19.933685 ArgusInitOutput() done
>>>>> argus[459]: 06 Aug 09 10:17:19.933729 started
>>>>> argus[459]: 06 Aug 09 10:17:19.933874 ArgusCalloc (1, 32)
>>>>> returning 0x1012ddf0
>>>>> argus[459]: 06 Aug 09 10:17:19.933911 ArgusInitMallocList (632)
>>>>> returning
>>>>> argus[459]: 06 Aug 09 10:17:19.933943 ArgusInitModeler() done
>>>>> argus[459]: 06 Aug 09 10:17:19.933980 ArgusGetPackets
>>>>> (0x30070008) starting
>>>>> argus[459]: 06 Aug 09 10:17:19.934034 ArgusPopFrontList
>>>>> (0x1012dac8) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.934071 ArgusPushFrontList
>>>>> (0x1012d430, 0x1012dac8, 1) returning 0xd032
>>>>> argus[459]: 06 Aug 09 10:17:19.953894 setArgusInterfaceStatus(0)
>>>>> argus[459]: 06 Aug 09 10:17:19.989382
>>>>> ArgusProcessQueueTimeout(0x1012d008, 0x1012d3e8) done
>>>>> argus[459]: 06 Aug 09 10:17:19.989445 ArgusQueueManager() turns
>>>>> 1 statusQueue 0 qs 0 items 0 cache 0 resort
>>>>> 0 reclaim 0 new 0 sends 0 bsends 0
>>>>> argus[459]: 06 Aug 09 10:17:19.989498
>>>>> ArgusOutputProcess(0x1012d9f0) starting
>>>>> argus[459]: 06 Aug 09 10:17:19.989551
>>>>> ArgusOutputStatusTime(0x1012d9f0) done
>>>>
>>>> It appears the open pcap process doesn't return anything and thus
>>>> Argus returns thinking there aren't any more (or any in this
>>>> case) packets
>>>> coming and shuts down.
>>>>
>>>>> argus[459]: 06 Aug 09 10:17:19.989588 ArgusGetPackets () returning
>>>>> argus[459]: 06 Aug 09 10:17:19.989621 main() ArgusGetPackets
>>>>> returned: shuting down
>>>>>
>>>>> argus[459]: 06 Aug 09 10:17:19.989673 ArgusShutDown(Normal
>>>>> Shutdown)
>>>>>
>>>>> argus[459]: 06 Aug 09 10:17:19.989707
>>>>> ArgusCloseSource(0x30070008) starting
>>>>> argus[459]: 06 Aug 09 10:17:19.989744 ArgusPopFrontList
>>>>> (0x1012dac8) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.989775 ArgusFree (0x1012dac8)
>>>>> argus[459]: 06 Aug 09 10:17:19.989816 ArgusFree (0x1012d430)
>>>>> argus[459]: 06 Aug 09 10:17:19.989852 ArgusDeleteList
>>>>> (0x1012d430, 3) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.989886
>>>>> ArgusCloseSource(0x30070008) deleting source
>>>>> argus[459]: 06 Aug 09 10:17:19.989928 ArgusModelerCleanUp
>>>>> ArgusProcessQueue(0x1012d3e8) processing status queue with 0
>>>>> records
>>>>> argus[459]: 06 Aug 09 10:17:19.989962 ArgusPopQueue (0x1012d3e8)
>>>>> returning 0x0
>>>>> argus[459]: 06 Aug 09 10:17:19.989998 ArgusFree (0x1012d3e8)
>>>>> argus[459]: 06 Aug 09 10:17:19.990031 ArgusDeleteQueue
>>>>> (0x1012d3e8) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.990063 ArgusModelerCleanUp ()
>>>>> returning
>>>>> argus[459]: 06 Aug 09 10:17:19.990112 ArgusFree (0x3002f008)
>>>>> argus[459]: 06 Aug 09 10:17:19.990152 ArgusFree (0x1012d360)
>>>>> argus[459]: 06 Aug 09 10:17:19.990194 ArgusCalloc (1, 660)
>>>>> returning 0x1012de18
>>>>> argus[459]: 06 Aug 09 10:17:19.990231 ArgusMallocListRecord
>>>>> (632) returning 0x1012de34
>>>>> argus[459]: 06 Aug 09 10:17:19.990265 ArgusGenerateListRecord
>>>>> (0x1012d008, 0x0, 48) done
>>>>> argus[459]: 06 Aug 09 10:17:19.990299 ArgusPushBackList
>>>>> (0x1012d330, 0x1012de34, 1) returning 1
>>>>> argus[459]: 06 Aug 09 10:17:19.990333
>>>>> ArgusCloseModeler(0x1012d008) pushing close record 0x1012de34
>>>>> argus[459]: 06 Aug 09 10:17:19.990370 ArgusFree (0x1012d378)
>>>>> argus[459]: 06 Aug 09 10:17:19.990406 ArgusFree (0x1012d978)
>>>>> argus[459]: 06 Aug 09 10:17:19.990436
>>>>> ArgusCloseModeler(0x1012d008)
>>>>> argus[459]: 06 Aug 09 10:17:19.990471 ArgusCloseOutput()
>>>>> scheduling closure after writing records
>>>>> argus[459]: 06 Aug 09 10:17:19.990504
>>>>> ArgusOutputProcess(0x1012d9f0) starting
>>>>> argus[459]: 06 Aug 09 10:17:19.990538
>>>>> ArgusOutputStatusTime(0x1012d9f0) done
>>>>> argus[459]: 06 Aug 09 10:17:19.990574 ArgusLoadList (0x1012d330,
>>>>> 0x1012dd38) load 1 objects
>>>>> argus[459]: 06 Aug 09 10:17:19.990608 ArgusPopFrontList
>>>>> (0x1012de34) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.990643 ArgusOutputProcess()
>>>>> received rec 0x1012de34 totals 1 seq 0
>>>>> argus[459]: 06 Aug 09 10:17:19.990677 ArgusFreeListRecord
>>>>> (0x1012de34) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.990711 ArgusMallocListRecord
>>>>> (632) returning 0x1012de34
>>>>> argus[459]: 06 Aug 09 10:17:19.990751
>>>>> ArgusGenerateStatusMarRecord(0x1012d9f0, 48) returning 0x1012de34
>>>>> argus[459]: 06 Aug 09 10:17:19.990785 ArgusOutputProcess()
>>>>> received stop record 0 records on the list
>>>>> argus[459]: 06 Aug 09 10:17:19.990820 ArgusFreeListRecord
>>>>> (0x1012de34) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.990853 ArgusFree (0x1012d330)
>>>>> argus[459]: 06 Aug 09 10:17:19.990884 ArgusDeleteList
>>>>> (0x1012d330, 4) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.990920 ArgusFree (0x1012dd38)
>>>>> argus[459]: 06 Aug 09 10:17:19.990953 ArgusDeleteList
>>>>> (0x1012dd38, 4) returning
>>>>> argus[459]: 06 Aug 09 10:17:19.990986 ArgusFree (0x1012dd68)
>>>>> argus[459]: 06 Aug 09 10:17:19.991017
>>>>> ArgusCloseOutput(0x1012d9f0) done
>>>>> argus[459]: 06 Aug 09 10:17:19.991050 ArgusFree (0x1012d9f0)
>>>>> argus[459]: 06 Aug 09 10:17:19.991083 ArgusFree (0x1012d008)
>>>>> argus[459]: 06 Aug 09 10:17:19.991168 ArgusFree (0x30070008)
>>>>> argus[459]: 06 Aug 09 10:17:19.991220 ArgusShutDown()
>>>>
>>>> Peter Van Epp
>>>>
>>>
>>> Carter Bullard
>>> CEO/President
>>> QoSient, LLC
>>> 150 E 57th Street Suite 12D
>>> New York, New York 10022
>>>
>>> +1 212 588-9133 Phone
>>> +1 212 588-9134 Fax
>>>
>>>
>>>
>>
>>
>
> Carter Bullard
> CEO/President
> QoSient, LLC
> 150 E 57th Street Suite 12D
> New York, New York 10022
>
> +1 212 588-9133 Phone
> +1 212 588-9134 Fax
>
>
>
More information about the argus
mailing list