X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fdpif-linux.h;h=ec94ccfd63d929b75b91ddd36c49b86fd2613193;hb=041e71687a62cfaee80e72184def26322303ff8f;hp=30e927f796e6dd51e05575fb2f3373c8e046cb3b;hpb=c19e653509deb3f1002c4ed99714e16549ec74e9;p=sliver-openvswitch.git diff --git a/lib/dpif-linux.h b/lib/dpif-linux.h index 30e927f79..ec94ccfd6 100644 --- a/lib/dpif-linux.h +++ b/lib/dpif-linux.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2011 Nicira Networks. + * Copyright (c) 2010, 2011 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,28 +18,33 @@ #define DPIF_LINUX_H 1 #include -#include "openvswitch/datapath-protocol.h" +#include +#include +#include + +#include "flow.h" struct ofpbuf; struct dpif_linux_vport { - /* ioctl command argument. */ - int cmd; - - /* odp_vport header. */ - uint32_t dp_idx; - uint32_t port_no; /* UINT32_MAX if unknown. */ - enum odp_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. */ + /* Generic Netlink header. */ + uint8_t cmd; + + /* ovs_vport header. */ + int dp_ifindex; + odp_port_t port_no; /* ODPP_NONE if unknown. */ + enum ovs_vport_type type; + + /* Attributes. + * + * The 'stats' member points to 64-bit data that might only be aligned on + * 32-bit boundaries, so use get_unaligned_u64() to access its values. + */ + const char *name; /* OVS_VPORT_ATTR_NAME. */ + const uint32_t *upcall_pid; /* OVS_VPORT_ATTR_UPCALL_PID. */ + const struct ovs_vport_stats *stats; /* OVS_VPORT_ATTR_STATS. */ + const struct nlattr *options; /* OVS_VPORT_ATTR_OPTIONS. */ size_t options_len; - int ifindex; /* ODP_VPORT_ATTR_IFINDEX. */ - int iflink; /* ODP_VPORT_ATTR_IFLINK. */ }; void dpif_linux_vport_init(struct dpif_linux_vport *);