vsi->info = ctx.info;
        return 0;
 }
+
+/**
+ * ice_vsi_update_l2tsel - update l2tsel field for all Rx rings on this VSI
+ * @vsi: VSI used to update l2tsel on
+ * @l2tsel: l2tsel setting requested
+ *
+ * Use the l2tsel setting to update all of the Rx queue context bits for l2tsel.
+ * This will modify which descriptor field the first offloaded VLAN will be
+ * stripped into.
+ */
+void ice_vsi_update_l2tsel(struct ice_vsi *vsi, enum ice_l2tsel l2tsel)
+{
+       struct ice_hw *hw = &vsi->back->hw;
+       u32 l2tsel_bit;
+       int i;
+
+       if (l2tsel == ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG2_2ND)
+               l2tsel_bit = 0;
+       else
+               l2tsel_bit = BIT(ICE_L2TSEL_BIT_OFFSET);
+
+       for (i = 0; i < vsi->alloc_rxq; i++) {
+               u16 pfq = vsi->rxq_map[i];
+               u32 qrx_context_offset;
+               u32 regval;
+
+               qrx_context_offset =
+                       QRX_CONTEXT(ICE_L2TSEL_QRX_CONTEXT_REG_IDX, pfq);
+
+               regval = rd32(hw, qrx_context_offset);
+               regval &= ~BIT(ICE_L2TSEL_BIT_OFFSET);
+               regval |= l2tsel_bit;
+               wr32(hw, qrx_context_offset, regval);
+       }
+}
 
 #define ICE_VSI_FLAG_INIT      BIT(0)
 #define ICE_VSI_FLAG_NO_INIT   0
 
+#define ICE_L2TSEL_QRX_CONTEXT_REG_IDX 3
+#define ICE_L2TSEL_BIT_OFFSET          23
+enum ice_l2tsel {
+       ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG2_2ND,
+       ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG1,
+};
+
 const char *ice_vsi_type_str(enum ice_vsi_type vsi_type);
 
 bool ice_pf_state_is_nominal(struct ice_pf *pf);
 void ice_clear_feature_support(struct ice_pf *pf, enum ice_feature f);
 void ice_init_feature_support(struct ice_pf *pf);
 bool ice_vsi_is_rx_queue_active(struct ice_vsi *vsi);
+void ice_vsi_update_l2tsel(struct ice_vsi *vsi, enum ice_l2tsel l2tsel);
 #endif /* !_ICE_LIB_H_ */
 
        return 0;
 }
 
-#define ICE_L2TSEL_QRX_CONTEXT_REG_IDX 3
-#define ICE_L2TSEL_BIT_OFFSET          23
-enum ice_l2tsel {
-       ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG2_2ND,
-       ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG1,
-};
-
-/**
- * ice_vsi_update_l2tsel - update l2tsel field for all Rx rings on this VSI
- * @vsi: VSI used to update l2tsel on
- * @l2tsel: l2tsel setting requested
- *
- * Use the l2tsel setting to update all of the Rx queue context bits for l2tsel.
- * This will modify which descriptor field the first offloaded VLAN will be
- * stripped into.
- */
-static void ice_vsi_update_l2tsel(struct ice_vsi *vsi, enum ice_l2tsel l2tsel)
-{
-       struct ice_hw *hw = &vsi->back->hw;
-       u32 l2tsel_bit;
-       int i;
-
-       if (l2tsel == ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG2_2ND)
-               l2tsel_bit = 0;
-       else
-               l2tsel_bit = BIT(ICE_L2TSEL_BIT_OFFSET);
-
-       for (i = 0; i < vsi->alloc_rxq; i++) {
-               u16 pfq = vsi->rxq_map[i];
-               u32 qrx_context_offset;
-               u32 regval;
-
-               qrx_context_offset =
-                       QRX_CONTEXT(ICE_L2TSEL_QRX_CONTEXT_REG_IDX, pfq);
-
-               regval = rd32(hw, qrx_context_offset);
-               regval &= ~BIT(ICE_L2TSEL_BIT_OFFSET);
-               regval |= l2tsel_bit;
-               wr32(hw, qrx_context_offset, regval);
-       }
-}
-
 /**
  * ice_vc_ena_vlan_stripping_v2_msg
  * @vf: VF the message was received from