* table. If an identical flow already exists in that table only, then it
* is replaced. If the flow cannot be placed in the specified table,
* either because the table is full or because the table cannot support
- * flows of the given type, the switch replies with an
- * OFPFMFC_ALL_TABLES_FULL error. (A controller can distinguish these
- * cases by comparing the current and maximum number of entries reported
- * in ofp_table_stats.)
+ * flows of the given type, the switch replies with an OFPFMFC_TABLE_FULL
+ * error. (A controller can distinguish these cases by comparing the
+ * current and maximum number of entries reported in ofp_table_stats.)
*
* If the table ID is wildcarded, the switch picks an appropriate table
* itself. If an identical flow already exist in the selected flow table,
/* OF1.1+(5,0). Unspecified error. */
OFPERR_OFPFMFC_UNKNOWN,
- /* OF1.0(3,0). Flow not added because of full tables. */
- OFPERR_OFPFMFC_ALL_TABLES_FULL,
-
- /* OF1.1+(5,1). Flow not added because table was full. */
+ /* OF1.0(3,0), OF1.1+(5,1). Flow not added because of full table(s). */
OFPERR_OFPFMFC_TABLE_FULL,
/* OF1.1+(5,2). Table does not exist */
rule->evictable = was_evictable;
if (!evict) {
- error = OFPERR_OFPFMFC_ALL_TABLES_FULL;
+ error = OFPERR_OFPFMFC_TABLE_FULL;
goto exit;
} else if (evict->pending) {
error = OFPROTO_POSTPONE;
* is not required in OpenFlow 1.0.1 and removed from OpenFlow 1.1.
* There is no good error code, so just state that the flow table
* is full. */
- error = OFPERR_OFPFMFC_ALL_TABLES_FULL;
+ error = OFPERR_OFPFMFC_TABLE_FULL;
}
if (!error) {
error = ofpacts_check(fm.ofpacts, fm.ofpacts_len,
# Adding another flow will be refused.
AT_CHECK([ovs-ofctl add-flow br0 in_port=5,actions=drop], [1], [], [stderr])
AT_CHECK([head -n 1 stderr | ofctl_strip], [0],
- [OFPT_ERROR: OFPFMFC_ALL_TABLES_FULL
+ [OFPT_ERROR: OFPFMFC_TABLE_FULL
])
# Also a mod-flow that would add a flow will be refused.
AT_CHECK([ovs-ofctl mod-flows br0 in_port=5,actions=drop], [1], [], [stderr])
AT_CHECK([head -n 1 stderr | ofctl_strip], [0],
- [OFPT_ERROR: OFPFMFC_ALL_TABLES_FULL
+ [OFPT_ERROR: OFPFMFC_TABLE_FULL
])
# Replacing or modifying an existing flow is allowed.
AT_CHECK([ovs-ofctl add-flow br0 in_port=4,actions=normal])
AT_CHECK([ovs-ofctl add-flow br0 in_port=7,actions=normal])
AT_CHECK([ovs-ofctl add-flow br0 in_port=8,actions=drop], [1], [], [stderr])
AT_CHECK([head -n 1 stderr | ofctl_strip], [0],
- [OFPT_ERROR: OFPFMFC_ALL_TABLES_FULL
+ [OFPT_ERROR: OFPFMFC_TABLE_FULL
])
AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
in_port=4 actions=NORMAL