PF_RING 6.0.2 compile and install on Redhat 6.3 x86_64

Source: Internet
Author: User

PF_RING 6.0.2 compile and install on Redhat 6.3 x86_64
Preface

This document describes the compilation and installation of PF_RING in Linux.

PF_RING version: 6.0.2 (Latest Version)

Http://www.ntop.org/products/pf_ring/

Download URL: http://sourceforge.net/projects/ntop/files/PF_RING/

Linux: RedHat 6.3 (x86_64)

GCC version: GCC 4.4.6

Download PF_RING

1) Check whether PF_RING is installed

If you have installed pf_ring, you may need to execute: rmmodpf_ring

If you are not sure whether to install pf_ring, run modinfopf_ring.

2) download the latest version of PF_RING from the download URL:

PF_RING-6.0.2.tar.gz 2014-09-24 21.9 MB

Upload to the/opt directory of the server where Redhat 6.3 is installed.

Log on to the server as a root user:

# Cd/opt

# Tar zxf PF_RING-6.0.2.tar.gz

# Cd PF_RING-6.0.2

Compile and install PF_RING

1) Compile the pf_ring Kernel File

Enter the kernel module directory:

Cd/opt/PF_RING-6.0.2/kernel

Compile the pf_ring kernel module:

Make & make install

The directory where the PF_RING kernel module is installed in RHEL 6.3:

/Lib/modules/2.6.32-279. el6.x86 _ 64/kernel/net/pf_ring

Load the pf_ring kernel module:

Modprobe pf_ringtransparent_mode = 1

Or

Insmod <PF_RINGPATH>/kernel/pf_ring.ko [transparent_mode = 0 | 1 | 2] [min_num_slots = x] [enable_tx_capture = 1 | 0] [partition = 1 | 0] [quick_mode = 1 | 0]

 

Check whether the pf_ring kernel module is loaded:

Lsmod | greppf_ring

View the load information:

Cat/proc/net/pf_ring/info

Delete the pf_ring kernel module:

Rmmd pf_ring

2) Compile the pf_ring Development Library

Go to the/opt/PF_RING-6.0.2/userland/lib directory to compile the pf_ring Library:

# Cd/opt/PF_RING-6.0.2/userland/lib

#./Configure -- prefix =/opt/pfring

Error: checkingif libnuma is present... no

Please install libnuma-dev in order to usePF_RING

Solution: You need to install the libnuma-dev library. You can find the numactl *. rpm package from the CD or ISO image and run the rpm-ivh command to install it.

# Make & make intall

Note: The compiled pf_ring library and header file can be found in/opt/pfring.

Note: The missing lib/pf_ring.h header file can be found in/usr/include/linux/pf_ring.h, or in the/opt/PF_RING-6.0.2/kernel/linux directory.

3) Compile the libpcap library that supports PF_RING.

# Cd/opt/PF_RING-6.0.2/userland/libpcap

#./Configure -- prefix =/opt/pfring/

# Make & make install

Note: Modify the source code and set the kernel ring buffer of pf_ring to 10 MB. The default value is 2 MB.

Source: userland/libpcap-1.1.1-ring/pcap-linux.c

Function: int activate_mmap (pcap_t * handle );

Code snippet:

3310 if (handle-> opt. buffer_size = 0 ){

3311/* by defaultrequest 2 M for the ring buffer */

3312 handle-> opt. buffer_size = 2*1024*1024;

3313}

Note: The compiled libpcap library and header file can be found in/opt/pfring.

4) Compile the pf_ring sample code

# Cd/opt/PF_RING-6.0.2/userland/examples

# Make

#./Alldevs

1. lan (PF_RING)

2. USB mon1 (USB bus number 1)

3. any (Pseudo-device that captures on allinterfaces)

4. lo (No description available)

There are some practical PF_RING tools in this directory: pfcount and pfsend.

5) Compile and install the drivers supported by PF_RING.

* Use ethtool to view the network card model, for example, ethtool-I eth0.

# Lspci | grep Ethernet

* Go To The driver directory. Note that the non-zero copy driver is used here:

Cd/opt/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/intel

* Compile the NIC supported by PF_RING:

# Cd e1000/e1000-8.0.35/src

# Make & make install

Where to install the NIC Driver in Redhat 6.3:

/Lib/modules/2.6.32-279. el6.x86 _ 64/kernel/drivers/net/e1000/e1000.ko

* Uninstall and install the PF_RING DRIVER:

Uninstall the driver: # rmmod e1000

Install the driver: # modprobe e1000

View the driver: # ethtol-I eth0

Note: When the communications network card also uses this driver, be sure to perform on-site operations. If you use ssh to remotely uninstall the driver, the network will not be connected.

Note: We recommend that you use different drivers for the collected network card and the network card used for communication.

Note: To set the NIC name and MAC address, compile the following file:

/Etc/udev/rules. d/70-persistent-net.rules

The command for compiling and installing PF_RING is as follows (it does not need to be executed as a root user ):

# Compile the kernel

Cd/opt/PF_RING-6.0.2/kernel

Make & sudo make install

# Compile the PF_RING Library

Cd ../userland/lib

./Configure-prefix =/usr/local/pfring & make & sudo make install

# Compile the libpcap library

Cd./libpcap-1.1.1-ring

./Configure-prefix =/usr/local/pfring & make & sudo make install

# Compile TCPDUMP

Cd./tcpdump-4.1.1

./Configure-prefix =/usr/local/pfring & make & sudo make install

# Update a dynamic library

Sudo ldconfig

# Loading Module

Sudo modprobe pf_ring

# Escalate to root permission and execute

Modinfo pf_ring & cat/proc/net/pf_ring/info

# Increase the consumption rate of the ixgbe Module

Rmmod ixgbe
Modprobe ixgbe InterruptThrottleRate = 4000

# To meet the needs of high-speed networks, we need to increase the number of ring slots

Rmmod pf_ring
Modprobe pf_ring transparent_mode = 1 min_num_slots = 65534 enable_tx_capture = 0

 

Use PF_RING

If you use libpcap that supports PF_RING, add the # define HAVE_PF_RING definition or add-DHAVE_PF_RING in the header file of the application.

If you use PF_RINGAPI to write code directly, you do not need to add the above definition.

For pf_ringapi, read the userguide.pdf file in the docdirectory or read the pfcount code in examples in the userland directory.

....

 

For more details, please continue to read the highlights on the next page:

  • 1
  • 2
  • Next Page

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.