X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdpif-linux.h;h=6526fb77aa2552cd5b4745d982107aaf93a1efd8;hb=8758e8a373338e409d7f2863ee91e01060f35628;hp=30e927f796e6dd51e05575fb2f3373c8e046cb3b;hpb=c19e653509deb3f1002c4ed99714e16549ec74e9;p=openvswitch diff --git a/lib/dpif-linux.h b/lib/dpif-linux.h index 30e927f7..6526fb77 100644 --- a/lib/dpif-linux.h +++ b/lib/dpif-linux.h @@ -18,28 +18,29 @@ #define DPIF_LINUX_H 1 #include +#include #include "openvswitch/datapath-protocol.h" struct ofpbuf; struct dpif_linux_vport { - /* ioctl command argument. */ - int cmd; + /* Generic Netlink header. */ + uint8_t cmd; - /* odp_vport header. */ - uint32_t dp_idx; + /* ovs_vport header. */ + int dp_ifindex; uint32_t port_no; /* UINT32_MAX if unknown. */ - enum odp_vport_type type; + enum ovs_vport_type type; /* Attributes. */ - const char *name; /* ODP_VPORT_ATTR_NAME. */ - const struct rtnl_link_stats64 *stats; /* ODP_VPORT_ATTR_STATS. */ - const uint8_t *address; /* ODP_VPORT_ATTR_ADDRESS. */ - int mtu; /* ODP_VPORT_ATTR_MTU. */ - const struct nlattr *options; /* ODP_VPORT_ATTR_OPTIONS. */ + const char *name; /* OVS_VPORT_ATTR_NAME. */ + const struct rtnl_link_stats64 *stats; /* OVS_VPORT_ATTR_STATS. */ + const uint8_t *address; /* OVS_VPORT_ATTR_ADDRESS. */ + int mtu; /* OVS_VPORT_ATTR_MTU. */ + const struct nlattr *options; /* OVS_VPORT_ATTR_OPTIONS. */ size_t options_len; - int ifindex; /* ODP_VPORT_ATTR_IFINDEX. */ - int iflink; /* ODP_VPORT_ATTR_IFLINK. */ + int ifindex; /* OVS_VPORT_ATTR_IFINDEX. */ + int iflink; /* OVS_VPORT_ATTR_IFLINK. */ }; void dpif_linux_vport_init(struct dpif_linux_vport *); @@ -52,4 +53,7 @@ int dpif_linux_vport_get(const char *name, struct dpif_linux_vport *reply, bool dpif_linux_is_internal_device(const char *name); +int dpif_linux_vport_send(int dp_ifindex, uint32_t port_no, + const void *data, size_t size); + #endif /* dpif-linux.h */