X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fconnmgr.h;h=e9ffbbc2e4ef9d1fff35778c9599d3327901daa7;hb=d38a3c7b8eb5d341c9e27b74b4a459dee284f770;hp=505a757ee186ed69f288ed80904fc1d5e667d146;hpb=4cd1bc9d103e03de4bdf28e815b1c4a0841e8c34;p=sliver-openvswitch.git diff --git a/ofproto/connmgr.h b/ofproto/connmgr.h index 505a757ee..e9ffbbc2e 100644 --- a/ofproto/connmgr.h +++ b/ofproto/connmgr.h @@ -22,6 +22,7 @@ #include "list.h" #include "match.h" #include "ofp-errors.h" +#include "ofp-util.h" #include "ofproto.h" #include "openflow/nicira-ext.h" #include "openvswitch/types.h" @@ -29,9 +30,6 @@ struct nlattr; struct ofconn; struct ofopgroup; -struct ofputil_flow_removed; -struct ofputil_packet_in; -struct ofputil_phy_port; struct rule; struct simap; struct sset; @@ -64,6 +62,14 @@ enum ofconn_async_msg_type { OAM_N_TYPES }; +/* A packet_in, with extra members to assist in queuing and routing it. */ +struct ofproto_packet_in { + struct ofputil_packet_in up; + struct list list_node; /* For queuing. */ + uint16_t controller_id; /* Controller ID to send to. */ + int send_len; /* Length that the action requested sending. */ +}; + /* Basics. */ struct connmgr *connmgr_create(struct ofproto *ofproto, const char *dpif_name, const char *local_name); @@ -141,7 +147,7 @@ void connmgr_send_port_status(struct connmgr *, void connmgr_send_flow_removed(struct connmgr *, const struct ofputil_flow_removed *); void connmgr_send_packet_in(struct connmgr *, - const struct ofputil_packet_in *); + const struct ofproto_packet_in *); /* Fail-open settings. */ enum ofproto_fail_mode connmgr_get_fail_mode(const struct connmgr *);