* 'flow' reflects the flow information for 'packet'. All of the
* information in 'flow' is extracted from 'packet', except for
* flow->tun_id and flow->in_port, which are assigned the correct values
- * for the incoming packet. The register values are zeroed.
+ * for the incoming packet. The register values are zeroed. 'packet''s
+ * header pointers (e.g. packet->l3) are appropriately initialized.
*
- * The statistics for 'packet' should be included in 'rule'.
+ * The implementation should add the statistics for 'packet' into 'rule'.
*
* Returns 0 if successful, otherwise an OpenFlow error code. */
enum ofperr (*rule_execute)(struct rule *rule, const struct flow *flow,
* support CFM, as does a null pointer. */
int (*set_cfm)(struct ofport *ofport, const struct cfm_settings *s);
- /* Checks the fault status of CFM configured on 'ofport'. Returns 1 if CFM
- * is faulted (generally indicating a connectivity problem), 0 if CFM is
- * not faulted, or -1 if CFM is not enabled on 'port'
+ /* Checks the fault status of CFM configured on 'ofport'. Returns a
+ * bitmask of 'cfm_fault_reason's to indicate a CFM fault (generally
+ * indicating a connectivity problem). Returns zero if CFM is not faulted,
+ * and -1 if CFM is not enabled on 'port'.
*
* This function may be a null pointer if the ofproto implementation does
* not support CFM. */
* will be invoked. */
void (*forward_bpdu_changed)(struct ofproto *ofproto);
+ /* Sets the MAC aging timeout for the OFPP_NORMAL action to 'idle_time',
+ * in seconds. */
+ void (*set_mac_idle_time)(struct ofproto *ofproto, unsigned int idle_time);
+
/* Linux VLAN device support (e.g. "eth0.10" for VLAN 10.)
*
* This is deprecated. It is only for compatibility with broken device drivers