4. Exablaze support¶
4.1. Prerequisites¶
We expect you to have installed the ExaNIC drivers (v. 1.7 or later) and loaded the drivers.
4.2. Usage¶
Using the exanic-config tool, you can see how the NIC has been mapped by Linux to the device name
exanic-config
Device exanic0:
Hardware type: ExaNIC X10
Board ID: 0x00
Temperature: 50.4 C VCCint: 0.94 V VCCaux: 1.79 V
Function: network interface
Firmware date: 20160420 (Wed Apr 20 00:34:19 2016)
Port 0:
Interface: enp6s0
Port speed: 10000 Mbps
Port status: enabled, SFP present, signal detected, link active
MAC filters: 64 IP filters: 128
Promiscuous mode: off
Bypass-only mode: off
MAC address: 64:3f:5f:01:2f:6a
RX packets: 2151761082 ignored: 2048817419 error: 0 dropped: 0
TX packets: 293756031
Port 1:
Interface: enp6s0d1
Port speed: 10000 Mbps
Port status: enabled, SFP present, signal detected, link active
MAC filters: 64 IP filters: 128
Promiscuous mode: off
Bypass-only mode: off
MAC address: 64:3f:5f:01:2f:6b
RX packets: 27 ignored: 0 error: 0 dropped: 0
TX packets: 8
ifconfig enp6s0
enp6s0 Link encap:Ethernet HWaddr 64:3f:5f:01:2f:6a
inet6 addr: fe80::663f:5fff:fe01:2f6a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:102941282 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6588303265 (6.5 GB) TX bytes:648 (648.0 B)
ifconfig enp6s0d1
enp6s0d1 Link encap:Ethernet HWaddr 64:3f:5f:01:2f:6b
inet6 addr: fe80::663f:5fff:fe01:2f6b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2290 (2.2 KB) TX bytes:648 (648.0 B)
You can now start the PF_RING apps prepending “exanic:” to the interface name. Example:
pfsend -i exanic:enp6s0
pfcount -i exanic:enp6s0@1
Where @1 means connect the application to RSS queue 1
4.3. Hardware Filtering¶
Exablaze NICs support (limited, e.g. IPv6 is not supported) hardware filtering out of the box. Thanks to nBPF we convert BPF expressions to hardware filters. This feature is supported transparently, and thus all PF_RING/libpcap-over-PF_RING can benefit from it.
Example:
pfcount -i exanic:enp6s0d4 -f "udp and port 3001"
When a BPF filter cannot be mapped 1:1 to a hardware filter, software packet filtering will take place to guarantee that the specified filter is enforced.