On Oct 18, 2012, at 8:03 PM, Chris Wakelin <[email protected]> wrote:
> Hi Alfredo, > > Thanks for the extra options. However, I updated to SVN 5758 and now > pfcount (and pfcount_aggregator) segfaults talking to a cluster (started > with "pfdnacluster_master -i dna0 -c 1 -n 12") > >> Core was generated by `/opt/RDGpfring/bin/pfcount -i dnacl:1@0'. >> Program terminated with signal 11, Segmentation fault. >> #0 0x000000000040e212 in pfring_dna_cluster_open () >> (gdb) bt full >> #0 0x000000000040e212 in pfring_dna_cluster_open () >> No symbol table info available. >> #1 0x00000000004087d3 in pfring_open () >> No symbol table info available. >> #2 0x0000000000406a7b in main () >> No symbol table info available. > > pfcount on plain DNA is fine. Ok, I'll try to reproduce this. > > A couple of other questions :-) :- > > 1) I see there's also a DNA_CLUSTER_DIRECT_FORWARDING flag. I'm guessing > that's for disabling the wait-for-apps-to-retrieve-packets feature? Does > it save memory? No, you can use this flag to send a packet to an interface directly from the distribution function. Actually it requires more memory (not so much). > > 2) What are slave rx and tx slots? If I'm only interested in receiving > packets, can tx slots be 0? Number of slots of the the master <-> consumer queues. The minimum is 512 slots, however if you don't need tx you can set the recv_only_mode (no tx memory allocation this way). > > 3) What are the additional buffers used for? Does disabling them break > anything? They are used for extra buffer allocation with pfring_alloc_pkt_buff() / pfring_release_pkt_buff() (for instance if you want to put a packet aside for future access and recv the next one with pfring_recv_pkt_buff()). Usually you don't need them. Regards Alfredo > > Best Wishes, > Chris > > On 17/10/12 23:38, Alfredo Cardigliano wrote: >> Chris >> with latest code from SVN it is now possible to: >> - Disable the allocation of additional per-consumer buffers (those available >> with alloc()/release()) via the dna_cluster_create() flags: >> dna_cluster_create(cluster_id, num_apps, DNA_CLUSTER_NO_ADDITIONAL_BUFFERS); >> >> - Configure the number of per-slave rx/tx queue slots and additional buffers: >> dna_cluster_low_level_settings(dna_cluster_handle, 8192 /* rx queue slots >> */, 1024 /* tx queue slots */, 0 /* additional buffers */); >> (call this just after dna_cluster_create()) >> >> Regards >> Alfredo >> >> On Oct 17, 2012, at 8:10 PM, Alfredo Cardigliano <[email protected]> >> wrote: >> >>> >>> On Oct 17, 2012, at 7:27 PM, Chris Wakelin <[email protected]> >>> wrote: >>> >>>> On 17/10/12 17:39, Alfredo Cardigliano wrote: >>>>> Chris >>>>> please see inline >>>>> >>>>> On Oct 17, 2012, at 6:00 PM, Chris Wakelin <[email protected]> >>>>> wrote: >>>>> >>>>>> I still can't get more than 12 cores used with Suricata on my Ubuntu >>>>>> 12.04 machine with ixgbe. Even with DNA + RSS and Suricata using dna0@0 >>>>>> ... dna0@15, it fails for pfring_open on dna0@12 to dna0@15 (though >>>>>> pfcount_aggregator manages the 16 queues in that case). >>>>> >>>>> You mean standard DNA (no DNA cluster, etc), right? >>>>> This is definitely strange as DNA memory is allocated when loading the >>>>> driver. >>>> >>>> Yes I meant standard DNA. >>>> >>>> Hmm. Strangely it's working now! Last night it didn't but I can't see >>>> why. I tried again this morning but thought it failed, when now it seems >>>> it didn't (silly me). I was probably mistaken about the discrepancy with >>>> pfcount_aggregator. >>>> >>>>> >>>>>> How is memory allocated in DNA? Are there kernel options I'm missing? >>>>> >>>>> No, there is no configuration for that. >>>>> >>>>>> With DNA clusters, I can't get pfdnacluster_master to manage more than >>>>>> 16 queues either. I would have expected my custom one with duplication >>>>>> should actually only use as much memory as it does without duplication >>>>>> as the duplicates are of course the same packets and therefore the same >>>>>> memory. >>>>> >>>>> Even if you are using duplication, memory with DNA clusters is allocated >>>>> when opening the socket. >>>>> Actually on my test system with 4Gb of RAM I can run up to two cluster >>>>> with 32 queues each. >>>>> Anyway memory management in libzero is something we are working on (there >>>>> is space for improvements). >>>> >>>> Is that with all the sockets open? I can certainly start >>>> pfdnacluster_master with that many queues, but the applications fail. >>> >>> Yes, up and running. I forgot to tell you I'm using the default >>> num_rx_slots/num_tx_slots (I don't know if you are using higher values). >>> >>>> How much memory is used per socket? Strangely I didn't have problems >>>> with testing e1000e DNA +libzero on another 64-bit system with less >>>> memory (16GB instead of 32) but running Ubuntu 10.04 instead of 12.04. >>>> >>>> Is the memory used what is shown in ifconfig? :- >>> >>> No >>> >>>> >>>> dna0 Link encap:Ethernet HWaddr 00:1b:21:cd:a2:74 >>>> inet6 addr: fe80::21b:21ff:fecd:a274/64 Scope:Link >>>> UP BROADCAST RUNNING PROMISC MULTICAST MTU:1522 Metric:1 >>>> RX packets:195271292 errors:0 dropped:0 overruns:0 frame:0 >>>> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 >>>> collisions:0 txqueuelen:1000 >>>> RX bytes:157968626881 (157.9 GB) TX bytes:0 (0.0 B) >>>> Memory:d9280000-d9300000 >>>> >>>> Does the setting of "ethtool -g" make a difference (presumably the same >>>> as num_rx_slots= in the module parameters)? >>> >>> No, ethtool -g is not supported. >>> >>>> >>>> Sorry for the inquisition :-) but it would be nice to understand what's >>>> possible. >>> >>> np >>> >>> Alfredo >>> >>>> >>>> Best Wishes, >>>> Chris >>>> >>>> -- >>>> --+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+- >>>> Christopher Wakelin, [email protected] >>>> IT Services Centre, The University of Reading, Tel: +44 (0)118 378 2908 >>>> Whiteknights, Reading, RG6 6AF, UK Fax: +44 (0)118 975 3094 >>>> _______________________________________________ >>>> Ntop-misc mailing list >>>> [email protected] >>>> http://listgateway.unipi.it/mailman/listinfo/ntop-misc >>> >> >> _______________________________________________ >> Ntop-misc mailing list >> [email protected] >> http://listgateway.unipi.it/mailman/listinfo/ntop-misc >> > > > -- > --+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+- > Christopher Wakelin, [email protected] > IT Services Centre, The University of Reading, Tel: +44 (0)118 378 2908 > Whiteknights, Reading, RG6 6AF, UK Fax: +44 (0)118 975 3094 > _______________________________________________ > Ntop-misc mailing list > [email protected] > http://listgateway.unipi.it/mailman/listinfo/ntop-misc _______________________________________________ Ntop-misc mailing list [email protected] http://listgateway.unipi.it/mailman/listinfo/ntop-misc
