+struct odp_vport {
+ uint32_t dp_idx;
+ uint32_t len;
+ uint32_t total_len;
+};
+
+enum {
+ ODP_VPORT_ATTR_UNSPEC,
+ ODP_VPORT_ATTR_PORT_NO, /* port number within datapath */
+ ODP_VPORT_ATTR_TYPE, /* 32-bit ODP_VPORT_TYPE_* constant. */
+ ODP_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */
+ ODP_VPORT_ATTR_STATS, /* struct rtnl_link_stats64 */
+ ODP_VPORT_ATTR_ADDRESS, /* hardware address */
+ ODP_VPORT_ATTR_MTU, /* 32-bit maximum transmission unit */
+ ODP_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */
+ ODP_VPORT_ATTR_IFINDEX, /* 32-bit ifindex of backing netdev */
+ ODP_VPORT_ATTR_IFLINK, /* 32-bit ifindex on which packets are sent */
+ __ODP_VPORT_ATTR_MAX
+};
+
+#define ODP_VPORT_ATTR_MAX (__ODP_VPORT_ATTR_MAX - 1)
+
+/* ODP_VPORT_ATTR_OPTIONS attributes for patch vports. */
+enum {
+ ODP_PATCH_ATTR_UNSPEC,
+ ODP_PATCH_ATTR_PEER, /* name of peer vport, as a string */
+ __ODP_PATCH_ATTR_MAX