IXGBE_FCOE_JUMBO_FRAME_SIZE);
#endif /* CONFIG_FCOE */
- /*
- * If the PF or VF are running w/ jumbo frames enabled we
- * need to shut down the VF Rx path as we cannot support
- * jumbo frames on legacy VFs
- */
- if ((pf_max_frame > ETH_FRAME_LEN) ||
- (max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN)))
- err = -EINVAL;
+ switch (adapter->vfinfo[vf].vf_api) {
+ case ixgbe_mbox_api_11:
+ /*
+ * Version 1.1 supports jumbo frames on VFs if PF has
+ * jumbo frames enabled which means legacy VFs are
+ * disabled
+ */
+ if (pf_max_frame > ETH_FRAME_LEN)
+ break;
+ default:
+ /*
+ * If the PF or VF are running w/ jumbo frames enabled
+ * we need to shut down the VF Rx path as we cannot
+ * support jumbo frames on legacy VFs
+ */
+ if ((pf_max_frame > ETH_FRAME_LEN) ||
+ (max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN)))
+ err = -EINVAL;
+ break;
+ }
/* determine VF receive enable location */
vf_shift = vf % 32;
switch (api) {
case ixgbe_mbox_api_10:
+ case ixgbe_mbox_api_11:
adapter->vfinfo[vf].vf_api = api;
return 0;
default: