dpif_port->name = xstrdup(reply.name);
dpif_port->type = xstrdup(netdev_vport_get_netdev_type(&reply));
dpif_port->port_no = reply.port_no;
- if (reply.stats) {
- netdev_stats_from_rtnl_link_stats64(&dpif_port->stats,
- reply.stats);
- } else {
- memset(&dpif_port->stats, 0xff, sizeof dpif_port->stats);
- }
ofpbuf_delete(buf);
}
return error;
dpif_port->name = (char *) vport.name;
dpif_port->type = (char *) netdev_vport_get_netdev_type(&vport);
dpif_port->port_no = vport.port_no;
- if (vport.stats) {
- netdev_stats_from_rtnl_link_stats64(&dpif_port->stats, vport.stats);
- } else {
- memset(&dpif_port->stats, 0xff, sizeof dpif_port->stats);
- }
return 0;
}
[OVS_VPORT_ATTR_TYPE] = { .type = NL_A_U32 },
[OVS_VPORT_ATTR_NAME] = { .type = NL_A_STRING, .max_len = IFNAMSIZ },
[OVS_VPORT_ATTR_STATS] = { .type = NL_A_UNSPEC,
- .min_len = sizeof(struct rtnl_link_stats64),
- .max_len = sizeof(struct rtnl_link_stats64),
+ .min_len = sizeof(struct ovs_vport_stats),
+ .max_len = sizeof(struct ovs_vport_stats),
.optional = true },
[OVS_VPORT_ATTR_ADDRESS] = { .type = NL_A_UNSPEC,
.min_len = ETH_ADDR_LEN,
.max_len = ETH_ADDR_LEN,
.optional = true },
- [OVS_VPORT_ATTR_MTU] = { .type = NL_A_U32, .optional = true },
[OVS_VPORT_ATTR_OPTIONS] = { .type = NL_A_NESTED, .optional = true },
[OVS_VPORT_ATTR_IFINDEX] = { .type = NL_A_U32, .optional = true },
- [OVS_VPORT_ATTR_IFLINK] = { .type = NL_A_U32, .optional = true },
};
struct nlattr *a[ARRAY_SIZE(ovs_vport_policy)];
if (a[OVS_VPORT_ATTR_ADDRESS]) {
vport->address = nl_attr_get(a[OVS_VPORT_ATTR_ADDRESS]);
}
- if (a[OVS_VPORT_ATTR_MTU]) {
- vport->mtu = nl_attr_get_u32(a[OVS_VPORT_ATTR_MTU]);
- } else {
- vport->mtu = INT_MAX;
- }
if (a[OVS_VPORT_ATTR_OPTIONS]) {
vport->options = nl_attr_get(a[OVS_VPORT_ATTR_OPTIONS]);
vport->options_len = nl_attr_get_size(a[OVS_VPORT_ATTR_OPTIONS]);
if (a[OVS_VPORT_ATTR_IFINDEX]) {
vport->ifindex = nl_attr_get_u32(a[OVS_VPORT_ATTR_IFINDEX]);
}
- if (a[OVS_VPORT_ATTR_IFLINK]) {
- vport->iflink = nl_attr_get_u32(a[OVS_VPORT_ATTR_IFLINK]);
- }
return 0;
}
vport->address, ETH_ADDR_LEN);
}
- if (vport->mtu && vport->mtu != INT_MAX) {
- nl_msg_put_u32(buf, OVS_VPORT_ATTR_MTU, vport->mtu);
- }
-
if (vport->options) {
nl_msg_put_nested(buf, OVS_VPORT_ATTR_OPTIONS,
vport->options, vport->options_len);
if (vport->ifindex) {
nl_msg_put_u32(buf, OVS_VPORT_ATTR_IFINDEX, vport->ifindex);
}
-
- if (vport->iflink) {
- nl_msg_put_u32(buf, OVS_VPORT_ATTR_IFLINK, vport->iflink);
- }
}
/* Clears 'vport' to "empty" values. */