summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Borkmann <dborkman@redhat.com>2013-08-21 09:59:06 +0200
committerDaniel Borkmann <dborkman@redhat.com>2013-08-21 09:59:06 +0200
commit74a4979266860005c0013cdc86208be204cddd1d (patch)
tree0ab9f9b67f2bbfae9732aab77431d807635dd290
parent2f4f8cda836e9d1a34e13e8c3e0683d75fcd9ad4 (diff)
ring_{rx,tx}: verbose: output version and v3 specific info
Kevin says: With netsniff-ng 0.5.8-rc2+, when I run the below packet capture session, the output seems to imply that 64K of memory is being allocated per frame, which does not look like what I want since my interface MTU is only 1500. This appears to be severely limiting the number of frames I can fit into my packet capture ring. As TPACKET_V3 is used in capturing to pcap files, frames are written continuously to the ring, thus the above will give a wrong impression to the user. Therefore, output such information in verbose mode differently when TPACKET_V3 is being used, as it works block-wise. Reported-by: Kevin Branch <branchnetconsulting@gmail.com> Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
-rw-r--r--ring_rx.c12
-rw-r--r--ring_tx.c2
2 files changed, 10 insertions, 4 deletions
diff --git a/ring_rx.c b/ring_rx.c
index 3c701da..54505da 100644
--- a/ring_rx.c
+++ b/ring_rx.c
@@ -98,9 +98,15 @@ retry:
ring->mm_len = ring->layout.tp_block_size * ring->layout.tp_block_nr;
if (verbose) {
- printf("RX: %.2Lf MiB, %u Frames, each %u Byte allocated\n",
- (long double) ring->mm_len / (1 << 20),
- ring->layout.tp_frame_nr, ring->layout.tp_frame_size);
+ if (!v3) {
+ printf("RX,V2: %.2Lf MiB, %u Frames, each %u Byte allocated\n",
+ (long double) ring->mm_len / (1 << 20),
+ ring->layout.tp_frame_nr, ring->layout.tp_frame_size);
+ } else {
+ printf("RX,V3: %.2Lf MiB, %u Blocks, each %u Byte allocated\n",
+ (long double) ring->mm_len / (1 << 20),
+ ring->layout.tp_block_nr, ring->layout.tp_block_size);
+ }
}
}
diff --git a/ring_tx.c b/ring_tx.c
index 549f89c..100b3f0 100644
--- a/ring_tx.c
+++ b/ring_tx.c
@@ -89,7 +89,7 @@ retry:
ring->mm_len = ring->layout.tp_block_size * ring->layout.tp_block_nr;
if (verbose) {
- printf("TX: %.2Lf MiB, %u Frames, each %u Byte allocated\n",
+ printf("TX,V2: %.2Lf MiB, %u Frames, each %u Byte allocated\n",
(long double) ring->mm_len / (1 << 20),
ring->layout.tp_frame_nr, ring->layout.tp_frame_size);
}