Installing nac-pcap Napatech drivers

Document ID : KB000031748
Last Modified Date : 14/02/2018
Show Technical Document Details



The nac-pcap drivers allow use of Napatch capture cards needing to pass by the libpcap provided by Napatech. The advantages are TIM can directly listen on the TIM  TimPort0 network interface, TIM can take advantage of the Napatech filters and traffic de-duplication.


Supported releases are:

  • APM: 9.7 onward
  • CentOS: 64-bit Releases 5-7
  • Red Hat (RHEL), 64- bit Releases 6 - 7.

Important Note: For this to work, the solution must use a supported APM-operating system allowing this functionality combination.




1. Use a supported APM TIM OS Version
2. See the provided documents within the RPM Package for needed details.
3.  A firmware release 42.08 in the Napatech card is required. This setup will not work with other versions.




Step 1: Installing Software
1. Using YUM,  install the required packages for the nac-pcap to be able to compile the required drivers.  (Note: the RedHat system needs to be registered to a package repository.)
~# yum install kernel-devel Kernel-headers gcc nac-pcap-

2. After resolving the dependencies, then all required packages will be installed and the kernel drivers will be compiled.


If that fails, one can do this manually with:
[root@cemdemoeu bin]# cd /opt/napatech3/bin[root@cemdemoeu bin]# ./
Compiling the nt3gd driver [Done]
Loading nt3gd driver [Done]
Creating driver device file [Done]
Compiling the nt3gd_netdev driver [Done]
Loading nt3gd_netdev driver [Done]
Creating driver device file [Done]


3. The kernel-ring buffer should show something about the Napatech card driver being loaded.
[root@cemdemoeu bin]# dmesg | tail -4
nt3gd 0000:07:00.0: PCI INT A -> GSI 30 (level, low) -> IRQ 30
nt3gd 0000:07:00.0: setting latency timer to 64
nt3gd 0000:07:00.0: irq 70 for MSI/MSI-Xnt3g: nt3gd: Napatech 3GD ( kernel component loaded.
           WARNING: Under no circumstance run the ntpcap_config_wiz configuration wizard. !


Step 2: Special configuration

Default configuration does not provide the interfaces through the pcap library. So a special configuration is required during installation of the drivers. These will be loaded afterwards automatically by the SysV initialization.


1. Edit /opt/napatech3/config/setup.ini and change for following
Original New
#We need per port Tx
Profile = TrafficGen
TimeSyncConnectorExt1 = None
TimeSyncConnectorInt1 = None
TimeSyncConnectorInt2 = None
TimeSyncReferencePriority = PTP, OsTime Profile = Capture
TimeSyncConnectorExt1 = None
TimeSyncConnectorInt1 = None
TimeSyncConnectorInt2 = None
TimeSyncReferencePriority =  OsTime


2. On the original file, delete the "[AdaptersPtp]" section and remove the "PTP," on the last line.


3. Then in /opt/napatech3/config/ntpcap.ini, add the following at the end of the file:
Ntpl1 = "Assign[StreamId = 0] = Port == 0"
Ntpl2 = "Assign[StreamId = 1] = Port == 1"
Ntpl3 = "Assign[StreamId = 2] = Port == 2"
Ntpl4 = "Assign[StreamId = 3] = Port == 3"
StreamId = 0
StreamId = 1
StreamId = 2
StreamId = 3
4. Restart the Napatech service
~# /opt/napatech3/bin/ && /opt/napatech3/bin/


Step 3: Verifying Network Card is Operational and Seeing Data


1. You will have to test if the packet-capture library works. If TIM is not yet installed, then install Wireshark. The installation sequence should look like the following.


[root@cemdemoeu caadmin]# yum install wireshark
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package wireshark.x86_64 0:1.8.10-4.el6 will be installed
--> Processing Dependency: for package: wireshark-1.8.10-4.el6.x86_64
--> Running transaction check
---> Package libsmi.x86_64 0:0.4.8-4.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
 Package                       Arch                       Version                            Repository                                       Size
 wireshark                     x86_64                     1.8.10-4.el6                       rhel-server-6.5-x86_64_base                      11 M
Installing for dependencies:
 libsmi                        x86_64                     0.4.8-4.el6                        rhel-server-6.5-x86_64_base                     2.4 M
Transaction Summary
Install       2 Package(s)


Total download size: 14 M
Installed size: 79 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): libsmi-0.4.8-4.el6.x86_64.rpm                                                                                        | 2.4 MB     00:00    
(2/2): wireshark-1.8.10-4.el6.x86_64.rpm                                                                                    |  11 MB     00:01    
Total                                                                                                              8.0 MB/s |  14 MB     00:01    
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libsmi-0.4.8-4.el6.x86_64                                                                                                       1/2
  Installing : wireshark-1.8.10-4.el6.x86_64                                                                                                   2/2
  Verifying  : wireshark-1.8.10-4.el6.x86_64                                                                                                   1/2
  Verifying  : libsmi-0.4.8-4.el6.x86_64                                                                                                       2/2
  wireshark.x86_64 0:1.8.10-4.el6                                                                                                                 
Dependency Installed:
  libsmi.x86_64 0:0.4.8-4.el6                                                                                                                     


2. After that - check that that the if the data is there using "tshark -D"


[root@cemdemoeu bin]# tshark -D
1. eth0
2. any (Pseudo-device that captures on all interfaces)
3. lo
4. eth1
5. timport0 (NT 3G configured device Stream 0. No transmit)
6. usbmon1 (USB bus number 1)
7. timport1 (NT 3G configured device Stream 1. No transmit)
8. usbmon2 (USB bus number 2)
9. timport2 (NT 3G configured device Stream 2. No transmit)
10. usbmon3 (USB bus number 3)
11. timport3 (NT 3G configured device Stream 3. No transmit)
12. usbmon4 (USB bus number 4)
13. usbmon5 (USB bus number 5)


3. Make sure the timportX interfaces exist.
a. Registering pcap with TIM
The TIM process needs to know where to find the pcap library.
a. For that, add a new field to the TIM Settings:
                      libpcapPath /opt/napatech3/lib/
b. It will look like this in the TIM Settings page.


TIM Setting fr KB.jpg
c. You can now verify that the TIM actually sees the Napatech card interfaces:


Tim Network Interface for KB.jpg
d. The apmpacket application also needs to be updated, however that part needs to be done manually (This from TIM 9.7.x upwards).
/opt/CA/APM/tim/bin/configtool -f /opt/CA/APM/apmpacket/config/apmpacketsettings.db -s libpcapPath /opt/napatech3/lib/
e. Verify on TIM
Connecting the Napatech card to a network with traffic should show it is working such as in the TIM log or the TIM packet statistics as shown below.


- Tim Packet for KB.jpg