Index: /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/i40e/i40e_ethdev_vf.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/i40e/i40e_ethdev_vf.c	(revision 38071)
+++ /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/i40e/i40e_ethdev_vf.c	(working copy)
@@ -2434,6 +2434,9 @@
 	case I40E_LINK_SPEED_20GB:
 		new_link.link_speed = ETH_SPEED_NUM_20G;
 		break;
+	case I40E_LINK_SPEED_25GB:
+		new_link.link_speed = ETH_SPEED_NUM_25G;
+		break;
 	case I40E_LINK_SPEED_40GB:
 		new_link.link_speed = ETH_SPEED_NUM_40G;
 		break;
Index: /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/iavf/iavf_ethdev.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/iavf/iavf_ethdev.c	(revision 38071)
+++ /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/iavf/iavf_ethdev.c	(working copy)
@@ -813,6 +813,7 @@
 					     ETH_LINK_DOWN;
 	new_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
 				ETH_LINK_SPEED_FIXED);
+	new_link.driver_type = ETH_DRIVER_TYPE_IAVF;
 
 	if (rte_atomic64_cmpset((uint64_t *)&dev->data->dev_link,
 				*(uint64_t *)&dev->data->dev_link,
Index: /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/lib/librte_ether/rte_ethdev.h
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/lib/librte_ether/rte_ethdev.h	(revision 38071)
+++ /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/lib/librte_ether/rte_ethdev.h	(working copy)
@@ -279,6 +279,7 @@
 #define ETH_DRIVER_TYPE_MLX5       0x0c
 #define ETH_DRIVER_TYPE_NGBE       0x0d
 #define ETH_DRIVER_TYPE_TXGBE      0x0e
+#define ETH_DRIVER_TYPE_IAVF       0x0f
 
 /**
  * A structure used to retrieve link-level information of an Ethernet port.
Index: /branches/rel_apv_10_7/usr/click/lib/libip/sip.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libip/sip.c	(revision 38071)
+++ /branches/rel_apv_10_7/usr/click/lib/libip/sip.c	(working copy)
@@ -11465,9 +11465,15 @@
 			printf(" (");
 			if (ifmr.ifm_active & IFM_ETHER_VF) {
 				if (IFM_TYPE(ifmr.ifm_active) == IFM_ETHER &&
-					IFM_SUBTYPE(ifmr.ifm_active) == IFM_40G_SR4) {
+					IFM_SUBTYPE(ifmr.ifm_active) == IFM_100G_FIBER) {
+					printf("100G <full-duplex>");
+				} else if (IFM_TYPE(ifmr.ifm_active) == IFM_ETHER &&
+						   IFM_SUBTYPE(ifmr.ifm_active) == IFM_40G_SR4) {
 					printf("40G <full-duplex>");
 				} else if (IFM_TYPE(ifmr.ifm_active) == IFM_ETHER &&
+						   IFM_SUBTYPE(ifmr.ifm_active) == IFM_25G_FIBER) {
+					printf("25G <full-duplex>");
+				} else if (IFM_TYPE(ifmr.ifm_active) == IFM_ETHER &&
 						   IFM_SUBTYPE(ifmr.ifm_active) == IFM_10G_SR) {
 					printf("10G <full-duplex>");
 				} else {
Index: /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.c	(revision 38071)
+++ /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.c	(working copy)
@@ -2389,6 +2389,8 @@
 	case DPDK_ETH_DRIVER_TYPE_I40EVF: {
 		if (link.link_speed == DPDK_ETH_SPEED_NUM_10G) {
 			ifmr->ifm_active |= IFM_10G_SR | IFM_ETHER_VF;
+		} else if (link.link_speed == DPDK_ETH_SPEED_NUM_25G) {
+			ifmr->ifm_active |= IFM_25G_FIBER | IFM_ETHER_VF;
 		} else if (link.link_speed == DPDK_ETH_SPEED_NUM_40G) {
 			ifmr->ifm_active |= IFM_40G_SR4 | IFM_ETHER_VF;
 		} else {
@@ -2402,6 +2404,14 @@
 		} else {
 			ifmr->ifm_active |= IFM_AUTO;
 		}
+		break;
+	}
+	case DPDK_ETH_DRIVER_TYPE_IAVF: {
+		if (link.link_speed == DPDK_ETH_SPEED_NUM_100G) {
+			ifmr->ifm_active |= IFM_100G_FIBER | IFM_ETHER_VF;
+		} else {
+			ifmr->ifm_active |= IFM_AUTO;
+		}
 		break;
 	}
 	case DPDK_ETH_DRIVER_TYPE_ICE: {
Index: /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk_host.h
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk_host.h	(revision 38071)
+++ /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk_host.h	(working copy)
@@ -457,6 +457,7 @@
 #define DPDK_ETH_DRIVER_TYPE_MLX5       0x0c
 #define DPDK_ETH_DRIVER_TYPE_NGBE       0x0d
 #define DPDK_ETH_DRIVER_TYPE_TXGBE      0x0e
+#define DPDK_ETH_DRIVER_TYPE_IAVF       0x0f
 
 
 /**
Index: /branches/rel_apv_10_7/usr/src/sys/net/if_media.h
===================================================================
--- /branches/rel_apv_10_7/usr/src/sys/net/if_media.h	(revision 38071)
+++ /branches/rel_apv_10_7/usr/src/sys/net/if_media.h	(working copy)
@@ -130,6 +130,7 @@
 #define	IFM_ETHER_MASK 0x7FFFFFFF /* mask */
 #define	IFM_ETHER_VF 0x80000000 /* i40evf or ixgbevf */
 #define	IFM_ETHER	0x00000020
+#define	IFM_25G_FIBER	2	/* 25G Fiber */
 #define	IFM_10_T	3		/* 10BaseT - RJ45 */
 #define	IFM_40G_FIBER	4	/* 40G Fiber */
 #define	IFM_1G_FIBER	5	/* 1G Fiber */
