The packet_mmap documentation had links to no longer existing web
sites; replace with other site which has similar example.

Support for packet mmap has been in mainline versions of libpcap
for several years.

Signed-off-by: Stephen Hemminger <>
 Documentation/networking/packet_mmap.txt | 22 +++++-----------------
 1 file changed, 5 insertions(+), 17 deletions(-)

diff --git a/Documentation/networking/packet_mmap.txt 
index bf654845556e..999eb41da81d 100644
--- a/Documentation/networking/packet_mmap.txt
+++ b/Documentation/networking/packet_mmap.txt
@@ -7,15 +7,12 @@ socket interface on 2.4/2.6/3.x kernels. This type of sockets 
is used for
 i) capture network traffic with utilities like tcpdump, ii) transmit network
 traffic, or any other that needs raw access to network interface.
-You can find the latest version of this document at:
 Howto can be found at:
- (packet_mmap)
 Please send your comments to
     Ulisses Alonso CamarĂ³ <>
-    Johann Baudy <>
+    Johann Baudy
 + Why use PACKET_MMAP
@@ -51,17 +48,8 @@ From the user standpoint, you should use the higher level 
libpcap library, which
 is a de facto standard, portable across nearly all operating systems
 including Win32. 
-Said that, at time of this writing, official libpcap 0.8.1 is out and doesn't 
-support for PACKET_MMAP, and also probably the libpcap included in your 
-I'm aware of two implementations of PACKET_MMAP in libpcap:
-                     (by Simon Patarin, based 
on libpcap 0.6.2)
-              (by Phil Wood, based on lastest 
-The rest of this document is intended for people who want to understand
-the low level details or want to improve libpcap by including PACKET_MMAP
+Packet MMAP support was integrated into libpcap around the time of version 
+TPACKET_V3 support was added in version 1.5.0
 + How to use mmap() directly to improve capture process
@@ -174,7 +162,7 @@ As capture, each frame contains two parts:
  /* bind socket to eth0 */
  bind(this->socket, (struct sockaddr *)&my_addr, sizeof(struct sockaddr_ll));
- A complete tutorial is available at:
+ A complete tutorial is available at:
 By default, the user should put data at :
  frame base + TPACKET_HDRLEN - sizeof(struct sockaddr_ll)

Reply via email to