OS-6244: Want DLS bypass for VLAN traffic

Details

Issue Type:New Feature
Priority:4 - Normal
Status:Resolved
Created at:2017-07-20T23:00:06.000Z
Updated at:2018-03-16T22:01:13.519Z

People

Created by:Former user
Reported by:Former user
Assigned to:Former user

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-03-16T22:01:13.510Z)

Fix Versions

2018-03-29 Old Man's House (Release Date: 2018-03-29)

Related Issues

Description

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.

Comments

Comment by Former user
Created at 2017-07-20T23:04:02.000Z

OS-5326 will certainly net the biggest perf increase for VLAN traffic but I think these two changes become more beneficial when combined because of how TCP/squeue polling works. But I'm not certain. Just something to keep in mind.


Comment by Jira Bot
Created at 2018-03-16T21:31:09.659Z

illumos-joyent commit 1a34bceaa14b4cf3a9cf90aa9c4dae5eb003d9d7 (branch master, by Ryan Zezeski)

OS-5326 SRS ring polling disabled for VLANs
OS-6244 Want DLS bypass for VLAN traffic
OS-6593 add VLVF bypass to ixgbe core
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>
Approved by: Patrick Mooney <patrick.mooney@joyent.com>