/* VLAN Interface */
 
-/* reg_ritr_vlan_if_vid
+/* reg_ritr_vlan_if_vlan_id
  * VLAN ID.
  * Access: RW
  */
-MLXSW_ITEM32(reg, ritr, vlan_if_vid, 0x08, 0, 12);
+MLXSW_ITEM32(reg, ritr, vlan_if_vlan_id, 0x08, 0, 12);
+
+/* reg_ritr_vlan_if_efid
+ * Egress FID.
+ * Used to connect the RIF to a bridge.
+ * Access: RW
+ *
+ * Note: Reserved when legacy bridge model is used and on Spectrum-1.
+ */
+MLXSW_ITEM32(reg, ritr, vlan_if_efid, 0x0C, 0, 16);
 
 /* FID Interface */
 
        if (rif_type == MLXSW_REG_RITR_FID_IF)
                mlxsw_reg_ritr_fid_if_fid_set(payload, fid);
        else
-               mlxsw_reg_ritr_vlan_if_vid_set(payload, fid);
+               mlxsw_reg_ritr_vlan_if_vlan_id_set(payload, fid);
 }
 
 /* Sub-port Interface */
        mlxsw_reg_ritr_if_mac_memcpy_to(payload, mac);
 }
 
+static inline void
+mlxsw_reg_ritr_vlan_if_pack(char *payload, bool enable, u16 rif, u16 vr_id,
+                           u16 mtu, const char *mac, u8 mac_profile_id,
+                           u16 vlan_id, u16 efid)
+{
+       enum mlxsw_reg_ritr_if_type type = MLXSW_REG_RITR_VLAN_IF;
+
+       mlxsw_reg_ritr_pack(payload, enable, type, rif, vr_id, mtu);
+       mlxsw_reg_ritr_if_mac_memcpy_to(payload, mac);
+       mlxsw_reg_ritr_if_mac_profile_id_set(payload, mac_profile_id);
+       mlxsw_reg_ritr_vlan_if_vlan_id_set(payload, vlan_id);
+       mlxsw_reg_ritr_vlan_if_efid_set(payload, efid);
+}
+
 static inline void
 mlxsw_reg_ritr_loopback_ipip_common_pack(char *payload,
                            enum mlxsw_reg_ritr_loopback_ipip_type ipip_type,