X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Flearning-switch.h;h=b3a5d13ea718920b493ede613084bc17f4efb22b;hb=7d78f21c057ff50a823220d809ac38c3d907243c;hp=1b760d8e5ed74156d36e1d8677beee6ff68c59bd;hpb=eec25dc1ae3ed49ad5e2eda0ca04450c4f75d6f7;p=sliver-openvswitch.git diff --git a/lib/learning-switch.h b/lib/learning-switch.h index 1b760d8e5..b3a5d13ea 100644 --- a/lib/learning-switch.h +++ b/lib/learning-switch.h @@ -20,6 +20,7 @@ #include #include #include +#include "ofp-util.h" struct ofpbuf; struct rconn; @@ -50,6 +51,7 @@ struct lswitch_config { * to set up the flow table. */ const struct ofputil_flow_mod *default_flows; size_t n_default_flows; + enum ofputil_protocol usable_protocols; /* The OpenFlow queue to use by default. Use UINT32_MAX to avoid * specifying a particular queue. */ @@ -57,15 +59,19 @@ struct lswitch_config { /* Maps from a port name to a queue_id. */ const struct simap *port_queues; + + /* If true, do not reply to any messages from the switch (for debugging + * fail-open mode). */ + bool mute; }; struct lswitch *lswitch_create(struct rconn *, const struct lswitch_config *); +bool lswitch_is_alive(const struct lswitch *); void lswitch_set_queue(struct lswitch *sw, uint32_t queue); void lswitch_run(struct lswitch *); void lswitch_wait(struct lswitch *); void lswitch_destroy(struct lswitch *); -void lswitch_process_packet(struct lswitch *, struct rconn *, - const struct ofpbuf *); +void lswitch_mute(struct lswitch *); #endif /* learning-switch.h */