e78a599651
The VF will send a message to request multicast addresses with the default vid. In the current code, if the PF has statically assigned a VLAN to a VF, then the VF will not get the multicast addresses. Fix up all of the various vlan messages to use identical checks (since each check was different). Also use set as a variable, so that it simplifies our check for whether vlan matches the pf_vid. The new logic will allow set of a vlan if it is zero, automatically converting to the default vid. Otherwise it will allow setting the PF vid, or any VLAN if PF has not statically assigned a VLAN. This is consistent behavior, and allows VF to request either 0 or the default_vid without silently failing. Note that we need the check for zero since VFs might not get the default VID message in time to actually request non-zero VLANs. Create a function, fm10k_iov_select_vid which implements the logic for selecting a default vid. This helps us remove duplicate code and streamlines location of this logic so that we don't make similar bugs in the future. Signed-off-by: Wang Xiao W <xiao.w.wang@intel.com> |
||
---|---|---|
.. | ||
fm10k_api.c | ||
fm10k_api.h | ||
fm10k_common.c | ||
fm10k_common.h | ||
fm10k_mbx.c | ||
fm10k_mbx.h | ||
fm10k_osdep.h | ||
fm10k_pf.c | ||
fm10k_pf.h | ||
fm10k_tlv.c | ||
fm10k_tlv.h | ||
fm10k_type.h | ||
fm10k_vf.c | ||
fm10k_vf.h |