This patch adds support for VF and loopback device.
Type: feature
Change-Id: I1ea92f3a1161851957206300ab921c27290b0305
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
}
_ (0xa063, RVU_PF, "Marvell Octeon Resource Virtualization Unit PF"),
+ _ (0xa0f8, RVU_VF, "Marvell Octeon Resource Virtualization Unit VF"),
_ (0xa0f3, CPT_VF, "Marvell Octeon Cryptographic Accelerator Unit VF"),
#undef _
};
strncpy ((char *) cd->plt_pci_dev.name, dev->device_id,
sizeof (cd->plt_pci_dev.name) - 1);
- if (cd->type == OCT_DEVICE_TYPE_RVU_PF)
+ if (cd->type == OCT_DEVICE_TYPE_RVU_PF || cd->type == OCT_DEVICE_TYPE_RVU_VF)
return oct_init_nix (vm, dev);
else if (cd->type == OCT_DEVICE_TYPE_CPT_VF)
return oct_init_cpt (vm, dev);
{
OCT_DEVICE_TYPE_UNKNOWN = 0,
OCT_DEVICE_TYPE_RVU_PF,
+ OCT_DEVICE_TYPE_RVU_VF,
OCT_DEVICE_TYPE_CPT_VF,
} __clib_packed oct_device_type_t;
#include <dev_octeon/common.h>
#include <vnet/ethernet/ethernet.h>
-#define OCT_FLOW_PREALLOC_SIZE 1
-#define OCT_FLOW_MAX_PRIORITY 7
+#define OCT_FLOW_PREALLOC_SIZE 1
+#define OCT_FLOW_MAX_PRIORITY 7
+#define OCT_ETH_LINK_SPEED_100G 100000 /**< 100 Gbps */
VLIB_REGISTER_LOG_CLASS (oct_log, static) = {
.class_name = "octeon",
vnet_dev_port_state_changes_t changes = {};
int rrv;
- rrv = roc_nix_mac_link_info_get (nix, &link_info);
- if (rrv)
- return;
+ if (roc_nix_is_lbk (nix))
+ {
+ link_info.status = 1;
+ link_info.full_duplex = 1;
+ link_info.autoneg = 0;
+ link_info.speed = OCT_ETH_LINK_SPEED_100G;
+ }
+ else
+ {
+ rrv = roc_nix_mac_link_info_get (nix, &link_info);
+ if (rrv)
+ return;
+ }
if (cd->status != link_info.status)
{