Argus with PF_RING DNA clusters

Chris Wakelin c.d.wakelin at reading.ac.uk
Mon Oct 1 13:03:22 EDT 2012


I've just found in ArgusModeler.c

> ArgusCreateIPv6Flow (struct ArgusModelerStruct *model, struct ip6_hdr *ip)
> {

...

> 
> #ifdef _LITTLE_ENDIAN
>       ip->ip6_plen = ntohs(ip->ip6_plen);
> #endif 

Is that modifying the packet or a copy? It would match my symptoms of
truncated IPv6 packets :-/

Best Wishes,
Chris

On 27/09/12 22:38, Chris Wakelin wrote:
> Yes, 3.0.6.1 with a fix to ArgusSource.c to allow PF_RING DNA interfaces
> and Intel virtual interfaces (ethX at Y):
> 
>> @@ -4182,7 +4187,7 @@
>>     if (device == NULL)
>>        return;
>>  
>> -   if (strstr(device->name, "dag") || strstr(device->name, "nap")) {
>> +   if (strstr(device->name, "dag") || strstr(device->name, "nap") || strstr(device->name, "dna") || (strstr(device->name, "eth") && strstr(device->name, "@"))) {
>>        for (i = 0; i < src->ArgusInterfaces; i++) {
>>           if (src->ArgusInterface[i].ArgusPd && (pcap_fileno(src->ArgusInterface[i].ArgusPd) > 0))
>>              bzero ((char *)&src->ArgusInterface[i].ifr, sizeof(ifr));
> 
> 
> Best Wishes,
> Chris
> 
> On 27/09/12 22:32, Carter Bullard wrote:
>> Hmmmm, not thinking that we modify packets, but will look.  Your
>> running argus-3.0.6+ ?  Thanks for the bug report !!!!
>>
>> Carter
>>
>> On Sep 27, 2012, at 5:00 PM, Chris Wakelin
>> <c.d.wakelin at reading.ac.uk> wrote:
>>
>>> Hi,
>>>
>>> I've been having some more problems with ARGUS and PF_RING DNA
>>> clusters. It turns out that with ARGUS running, the other
>>> applications reading the same packets are seeing truncated IPv6
>>> packets. As soon as ARGUS is stopped, things go back to normal.
>>>
>>> E.g. tcpdump output:
>>>
>>>> 18:45:36.174466600 IP6 truncated-ip6 - 5355 bytes
>>>> missing!2001:630:53:26:5026:29a2:5863:dbaf.65226 >
>>>> 2a00:1450:400c:c06::5d.443: Flags [.], seq 2651079285:2651084641,
>>>> ack 1774208329, win 259, length 5356 18:45:36.174535600 IP6
>>>> truncated-ip6 - 8160 bytes missing!2a00:1450:400c:c06::5d.443 >
>>>> 2001:630:53:26:5026:29a2:5863:dbaf.65226: Flags [.], seq 1:8161,
>>>> ack 1, win 272, options [nop,nop,sack 1 {0:1}], length 8160
>>>
>>> The PF_RING clusters use a zero-copy mechanism which means that
>>> each application is seeing the exact same chunk of memory. Is it
>>> possible that ARGUS is modifying this, in particular for the IPv6
>>> handling?
>>>
>>> The "select() returning immediately" problem is still there, but
>>> the PF_RING authors say they're working on a fix. They don't think
>>> the IPv6 issue is related.
>>>
>>> Best Wishes, Chris
>>>
> 


-- 
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-
Christopher Wakelin,                           c.d.wakelin at reading.ac.uk
IT Services Centre, The University of Reading,  Tel: +44 (0)118 378 2908
Whiteknights, Reading, RG6 6AF, UK              Fax: +44 (0)118 975 3094



More information about the argus mailing list