ofproto: New helper macro OFPROTO_FOR_EACH_TABLE.
[sliver-openvswitch.git] / ofproto / ofproto-provider.h
index f46ff84..8c32e4f 100644 (file)
@@ -67,6 +67,15 @@ struct ofproto {
 struct ofproto *ofproto_lookup(const char *name);
 struct ofport *ofproto_get_port(const struct ofproto *, uint16_t ofp_port);
 
+/* Assigns CLS to each classifier table, in turn, in OFPROTO.
+ *
+ * All parameters are evaluated multiple times. */
+#define OFPROTO_FOR_EACH_TABLE(CLS, OFPROTO)                \
+    for ((CLS) = (OFPROTO)->tables;                         \
+         (CLS) < &(OFPROTO)->tables[(OFPROTO)->n_tables];   \
+         (CLS)++)
+
+
 /* An OpenFlow port within a "struct ofproto".
  *
  * With few exceptions, ofproto implementations may look at these fields but