Want DLS bypass for VLAN traffic
If a MAC client has only 1 VID, as is the case for tagged VNICs, then we can take advantage of DLS bypass for VLAN traffic.
The current logic sets the s_ring_rx_func of a tagged VNIC to mac_rx_deliver(). This function, upon seeing that there is only 1 VID, strips the VLAN header and delivers it to the client receive function: i_dls_link_rx(). This function then calls ip_input().
Since there is only 1 VID there is no reason to go through i_dls_link_rx() when it's just going to deliver it to ip_input() anyways.
If we do this there should be a clear performance benefit as it will probably make the code slightly more complicated.
Updated by Electric Monk about 1 year ago
- Status changed from New to Closed
commit 84de666edc7f7d835057ae4807a387447c086bcf Author: Ryan Zezeski <firstname.lastname@example.org> Date: 2020-03-02T07:24:09.000Z 11490 SRS ring polling disabled for VLANs 11491 Want DLS bypass for VLAN traffic 11492 add VLVF bypass to ixgbe core 2869 duplicate packets with vnics over aggrs 11489 DLS stat delete and aggr kstat can deadlock Portions contributed by: Theo Schlossnagle <email@example.com> Reviewed by: Patrick Mooney <firstname.lastname@example.org> Reviewed by: Robert Mustacchi <email@example.com> Reviewed by: Dan McDonald <firstname.lastname@example.org> Reviewed by: Paul Winder <email@example.com> Approved by: Gordon Ross <firstname.lastname@example.org>