[Bro] Broctl pf_ring_DNA support / Bro at 100G
Gary Faulkner
gary at doit.wisc.edu
Tue Nov 5 14:16:27 PST 2013
First off, I'll admit I'm new to both pf_ring and bro cluster set-up, so
quite possibly I've made some rookie mistakes, but I've been trying to
read documentation, source comments, and lists to try to fill in the
gaps as best I can with a full helping of trial an error. I also
understand that I'm attempting to test some features that are in
development and not necessarily ready for prime-time.
I've been experimenting with the broctl with DNA support
(topic/dnthayer/ticket845) on a single node to start. I have tried
testing this with various RSS settings (0,1 and 4) as well as
transparent mode 0 and 2 by tweaking the shell script load_dna_driver.sh
that comes with pf_ring, but I could be horribly misconfiguring
something somewhere. What seems to happen based on the output from
running diag within an interactive broctl (and I may be misinterpreting
things) is that every worker process tries to listen on the same cluster
ID(21). pfdnacluster_master appears to run and then crash and then the
workers seem to start in a non-DNA mode. Running capstats from within
broctl usually returns an error that cluster ID 21 does not exist at
this point, and attempting to run the stop command typically results in
one or more worker process being hung up and having to be killed or
crashing brotctl in some way. I thought I ran across a previous issue
for vanilla pf_ring where there was another bug ID related to needing to
spawn each process with a different cluster id, but can't recall. Maybe
there are two different branches addressing different issues related to
what I'm trying to do.
Here is what my node.cfg looks like (where xx.xx.xx.xx is currently the
same IP for manager/proxy/worker):
[manager]
type=manager
host=xx.xx.xx.xx
[proxy-1]
type=proxy
host=xx.xx.xx.xx
[worker-1]
type=worker
host=xx.xx.xx.xx
interface=dna0
lb_procs=4
lb_method=pf_ring_dna
Typically what I end up seeing in /proc/net/pf_ring/ is something like
this where processid-none.xx matches each bro worker process:
30194-dna0.12 30319-none.13 30320-none.14 30321-none.16 30322-none.15
and then after some time has passed:
30319-none.13 30320-none.14 30321-none.16 30322-none.15
Output from each looks a such:
# cat 30194-dna0.12
Bound Device(s) :
Active : 1
Breed : DNA
Sampling Rate : 1
Capture Direction : RX+TX
Socket Mode : RX only
Appl. Name : pfdnacluster_master-cluster-21-
IP Defragment : No
BPF Filtering : Disabled
# Sw Filt. Rules : 0
# Hw Filt. Rules : 0
Poll Pkt Watermark : 128
Num Poll Calls : 0
Channel Id : 0
Num RX Slots : 8192
Num TX Slots : 8192
Tot Memory : 25952256 bytes
Cluster: Tot Recvd : 2217888
Cluster: Tot Sent : 0
# cat 30319-none.13
Bound Device(s) :
Active : 1
Breed : Non-DNA
Sampling Rate : 1
Capture Direction : RX+TX
Socket Mode : RX+TX
Appl. Name : <unknown>
IP Defragment : No
BPF Filtering : Disabled
# Sw Filt. Rules : 0
# Hw Filt. Rules : 0
Poll Pkt Watermark : 1
Num Poll Calls : 600262
# cat 30320-none.14
Bound Device(s) :
Active : 1
Breed : Non-DNA
Sampling Rate : 1
Capture Direction : RX+TX
Socket Mode : RX+TX
Appl. Name : <unknown>
IP Defragment : No
BPF Filtering : Disabled
# Sw Filt. Rules : 0
# Hw Filt. Rules : 0
Poll Pkt Watermark : 1
Num Poll Calls : 706408
cat 30321-none.16
Bound Device(s) :
Active : 1
Breed : Non-DNA
Sampling Rate : 1
Capture Direction : RX+TX
Socket Mode : RX+TX
Appl. Name : <unknown>
IP Defragment : No
BPF Filtering : Disabled
# Sw Filt. Rules : 0
# Hw Filt. Rules : 0
Poll Pkt Watermark : 1
Num Poll Calls : 775591
# cat 30322-none.15
Bound Device(s) :
Active : 1
Breed : Non-DNA
Sampling Rate : 1
Capture Direction : RX+TX
Socket Mode : RX+TX
Appl. Name : <unknown>
IP Defragment : No
BPF Filtering : Disabled
# Sw Filt. Rules : 0
# Hw Filt. Rules : 0
Poll Pkt Watermark : 1
Num Poll Calls : 886131
Any thoughts? Is anything I've said at all useful in seeing where I may
be failing or where bro might not do what it is I'm trying to get it to do?
Regards,
Gary Faulkner
UW Madison
Office of Campus Information Security
608-262-8591
On 10/30/2013 12:40 PM, Daniel Thayer wrote:
>
> If you want to test the PF_RING/DNA plugin, then you'll need to use
> the BroControl in the branch "topic/dnthayer/ticket845" (in the broctl
> git repo), but I'm not sure if anyone has successfully used it yet.
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6257 bytes
Desc: S/MIME Cryptographic Signature
Url : http://mailman.ICSI.Berkeley.EDU/pipermail/bro/attachments/20131105/936fbb67/attachment.bin
More information about the Bro
mailing list