diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2013-08-21 09:59:06 +0200 |
---|---|---|
committer | Daniel Borkmann <dborkman@redhat.com> | 2013-08-21 09:59:06 +0200 |
commit | 74a4979266860005c0013cdc86208be204cddd1d (patch) | |
tree | 0ab9f9b67f2bbfae9732aab77431d807635dd290 | |
parent | 2f4f8cda836e9d1a34e13e8c3e0683d75fcd9ad4 (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.c | 12 | ||||
-rw-r--r-- | ring_tx.c | 2 |
2 files changed, 10 insertions, 4 deletions
@@ -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); + } } } @@ -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); } |