1. Overview of Networking Drivers
The networking drivers may be classified in two categories:
physical for real devices
virtual for emulated devices
Some physical devices may be shaped through a virtual layer as for SR-IOV. The interface seen in the virtual environment is a VF (Virtual Function).
The ethdev layer exposes an API to use the networking functions of these devices. The bottom half part of ethdev is implemented by the drivers. Thus some features may not be implemented.
There are more differences between drivers regarding some internal properties, portability or even documentation availability. Most of these differences are summarized below.
More details about features can be found in Features Overview.
Feature |
a f _ x d p |
a f p a c k e t |
a r k |
a t l a n t i c |
a v p |
a x g b e |
b n x 2 x |
b n x t |
c n x k |
c n x k . . v e c |
c n x k v f |
c p f l |
c x g b e |
c x g b e v f |
d p a a |
d p a a 2 |
e 1 0 0 0 |
e n a |
e n e t c |
e n e t f e c |
e n i c |
f a i l s a f e |
f m 1 0 k |
f m 1 0 k v f |
g v e |
h i n i c |
h n s 3 |
h n s 3 v f |
i 4 0 e |
i a v f |
i c e |
i c e _ d c f |
i d p f |
i g b |
i g b v f |
i g c |
i o n i c |
i p n 3 k e |
i x g b e |
i x g b e v f |
m a n a |
m e m i f |
m l x 4 |
m l x 5 |
m v n e t a |
m v p p 2 |
n e t v s c |
n f b |
n f p |
n g b e |
n g b e v f |
n t n i c |
o c t e o n _ e p |
o c t e o n t x |
p c a p |
p f e |
q e d e |
q e d e v f |
r 8 1 6 9 |
s f c |
t a p |
t h u n d e r x |
t x g b e |
t x g b e v f |
v h o s t |
v i r t i o |
v m x n e t 3 |
x s c |
z x d h |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Speed capabilities |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
P |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
P |
P |
Y |
Y |
Y |
P |
P |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
P |
P |
|||||||||||||||||||
Link speed configuration |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Link status |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||
Link status event |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||
Removal event |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Queue status event |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rx interrupt |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||
Lock-free Tx queue |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fast mbuf free |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
P |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Free Tx mbuf on demand |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Queue start/stop |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||
Runtime Rx queue setup |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Runtime Tx queue setup |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Shared Rx queue |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Burst mode info |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Power mgmt address monitor |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MTU update |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||
Buffer split on Rx |
P |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Scattered Rx |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
|||||||||||||||||||||||
LRO |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
TSO |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||
Promiscuous mode |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||
Allmulticast mode |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||
Unicast MAC filter |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||
Multicast MAC filter |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||
RSS hash |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
||||||||||||||||||||||
RSS key update |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||
RSS reta update |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||
Inner RSS |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VMDq |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SR-IOV |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||
DCB |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VLAN filter |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||
Flow control |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||
Rate limitation |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Congestion management |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Traffic manager |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inline crypto |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inline protocol |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CRC offload |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
P |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
P |
P |
||||||||||||||||||||||||||||||||
VLAN offload |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
P |
Y |
Y |
Y |
P |
P |
Y |
Y |
P |
P |
P |
P |
Y |
Y |
|||||||||||||||||||||||||||||||
QinQ offload |
Y |
P |
P |
Y |
Y |
Y |
P |
P |
Y |
Y |
P |
P |
P |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
FEC |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IP reassembly |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
L3 checksum offload |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
P |
P |
P |
Y |
Y |
Y |
Y |
Y |
P |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
P |
Y |
|||||||||||||||||
L4 checksum offload |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
P |
P |
P |
Y |
Y |
Y |
Y |
Y |
P |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
P |
P |
Y |
Y |
||||||||||||||
Timestamp offload |
Y |
P |
Y |
Y |
Y |
Y |
P |
P |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MACsec offload |
Y |
P |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inner L3 checksum |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
P |
P |
Y |
P |
P |
Y |
Y |
Y |
P |
Y |
Y |
Y |
P |
P |
Y |
||||||||||||||||||||||||||||||||||||||||||||
Inner L4 checksum |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
P |
P |
P |
Y |
P |
P |
Y |
Y |
Y |
P |
Y |
Y |
Y |
P |
P |
Y |
||||||||||||||||||||||||||||||||||||||||||||
Packet type parsing |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||
Timesync |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rx descriptor status |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||
Tx descriptor status |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||
Tx queue count |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Basic stats |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||
Extended stats |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
P |
Y |
|||||||||||||||||||||||||||
Stats per queue |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||
FW version |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||
EEPROM dump |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Module EEPROM dump |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Registers dump |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||
LED |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Multiprocess aware |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||
FreeBSD |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Linux |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||
Windows |
Y |
Y |
Y |
Y |
Y |
P |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ARMv7 |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ARMv8 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||
LoongArch64 |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Power8 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rv64 |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x86-32 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||
x86-64 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||
Usage doc |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||
Design doc |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Perf doc |
Y |
Note
Features marked with “P” are partially supported. Refer to the appropriate NIC guide in the following sections for details.
Item |
a f _ x d p |
a f p a c k e t |
a r k |
a t l a n t i c |
a v p |
a x g b e |
b n x 2 x |
b n x t |
c n x k |
c n x k . . v e c |
c n x k v f |
c p f l |
c x g b e |
c x g b e v f |
d p a a |
d p a a 2 |
e 1 0 0 0 |
e n a |
e n e t c |
e n e t f e c |
e n i c |
f a i l s a f e |
f m 1 0 k |
f m 1 0 k v f |
g v e |
h i n i c |
h n s 3 |
h n s 3 v f |
i 4 0 e |
i a v f |
i c e |
i c e _ d c f |
i d p f |
i g b |
i g b v f |
i g c |
i o n i c |
i p n 3 k e |
i x g b e |
i x g b e v f |
m a n a |
m e m i f |
m l x 4 |
m l x 5 |
m v n e t a |
m v p p 2 |
n e t v s c |
n f b |
n f p |
n g b e |
n g b e v f |
n t n i c |
o c t e o n _ e p |
o c t e o n t x |
p c a p |
p f e |
q e d e |
q e d e v f |
r 8 1 6 9 |
s f c |
t a p |
t h u n d e r x |
t x g b e |
t x g b e v f |
v h o s t |
v i r t i o |
v m x n e t 3 |
x s c |
z x d h |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
aggr_affinity |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ah |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
any |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
arp_eth_ipv4 |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
compare |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
conntrack |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ecpri |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
esp |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
eth |
P |
Y |
Y |
Y |
Y |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
Y |
P |
Y |
Y |
Y |
P |
P |
||||||||||||||||||||||||||||||||||||||||||||
e_tag |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
flex |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fuzzy |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
geneve |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
geneve_opt |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gre |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gre_key |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gre_option |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gtp |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gtpc |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gtpu |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gtp_psc |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
higig2 |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ib_bth |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6 |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6_echo_request |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6_echo_reply |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6_nd_na |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6_nd_ns |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6_nd_opt |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6_nd_opt_sla_eth |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icmp6_nd_opt_tla_eth |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
igmp |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
integrity |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
invert |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipv4 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||
ipv6 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||
ipv6_ext |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipv6_frag_ext |
Y |
Y |
Y |
P |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipv6_routing_ext |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
l2tpv2 |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
l2tpv3oip |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mark |
Y |
Y |
Y |
Y |
P |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
meta |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
meter_color |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mpls |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nsh |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nvgre |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pfcp |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
port_id |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
port_representor |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ppp |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pppoed |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pppoes |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pppoe_proto_id |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ptype |
P |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
quota |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
random |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
raw |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
represented_port |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sctp |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
tag |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tcp |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||
tx_queue |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
udp |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||
vlan |
P |
Y |
Y |
Y |
Y |
P |
P |
P |
Y |
P |
P |
P |
P |
P |
P |
Y |
P |
Y |
Y |
Y |
P |
P |
|||||||||||||||||||||||||||||||||||||||||||||||
vxlan |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||
vxlan_gpe |
Y |
Y |
Y |
Y |
Y |
Y |
Action |
a f _ x d p |
a f p a c k e t |
a r k |
a t l a n t i c |
a v p |
a x g b e |
b n x 2 x |
b n x t |
c n x k |
c n x k . . v e c |
c n x k v f |
c p f l |
c x g b e |
c x g b e v f |
d p a a |
d p a a 2 |
e 1 0 0 0 |
e n a |
e n e t c |
e n e t f e c |
e n i c |
f a i l s a f e |
f m 1 0 k |
f m 1 0 k v f |
g v e |
h i n i c |
h n s 3 |
h n s 3 v f |
i 4 0 e |
i a v f |
i c e |
i c e _ d c f |
i d p f |
i g b |
i g b v f |
i g c |
i o n i c |
i p n 3 k e |
i x g b e |
i x g b e v f |
m a n a |
m e m i f |
m l x 4 |
m l x 5 |
m v n e t a |
m v p p 2 |
n e t v s c |
n f b |
n f p |
n g b e |
n g b e v f |
n t n i c |
o c t e o n _ e p |
o c t e o n t x |
p c a p |
p f e |
q e d e |
q e d e v f |
r 8 1 6 9 |
s f c |
t a p |
t h u n d e r x |
t x g b e |
t x g b e v f |
v h o s t |
v i r t i o |
v m x n e t 3 |
x s c |
z x d h |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
age |
Y |
Y |
I |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
conntrack |
I |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
count |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
I |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dec_tcp_ack |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dec_tcp_seq |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dec_ttl |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
drop |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||
flag |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inc_tcp_ack |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inc_tcp_seq |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
indirect_list |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipv6_ext_push |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipv6_ext_remove |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
jump |
Y |
Y |
Y |
Y |
Y |
P |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
jump_to_table_index |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mac_swap |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mark |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
meter |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
meter_mark |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
modify_field |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nat64 |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nvgre_decap |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nvgre_encap |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_copy_ttl_in |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_copy_ttl_out |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_dec_mpls_ttl |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_dec_nw_ttl |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_pop_mpls |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_pop_vlan |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_push_mpls |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_push_vlan |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_set_mpls_ttl |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_set_nw_ttl |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_set_vlan_pcp |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
of_set_vlan_vid |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
passthru |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pf |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
port_id |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
port_representor |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
prog |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
queue |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||
quota |
I |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
raw_decap |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
raw_encap |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
represented_port |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rss |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
I |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||
sample |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
security |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
send_to_kernel |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_ipv4_dscp |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_ipv4_dst |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_ipv4_src |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_ipv6_dscp |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_ipv6_dst |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_ipv6_src |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_mac_dst |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_mac_src |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_meta |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_tag |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_tp_dst |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_tp_src |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set_ttl |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
skip_cman |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vf |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vxlan_decap |
Y |
I |
I |
I |
Y |
Y |
Y |
Y |
Y |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vxlan_encap |
Y |
I |
I |
I |
Y |
Y |
Y |
Y |
Y |
Note
rte_flow actions marked with “I” can be indirect as well.