+ if (!(protocol & OFPUTIL_P_OF14_UP)) {
+ uint32_t *master = ofconn->master_async_config;
+ uint32_t *slave = ofconn->slave_async_config;
+
+ /* OFPR_ACTION_SET is not supported before OF1.4 */
+ master[OAM_PACKET_IN] &= ~(1u << OFPR_ACTION_SET);
+ slave [OAM_PACKET_IN] &= ~(1u << OFPR_ACTION_SET);
+
+ /* OFPR_GROUP is not supported before OF1.4 */
+ master[OAM_PACKET_IN] &= ~(1u << OFPR_GROUP);
+ slave [OAM_PACKET_IN] &= ~(1u << OFPR_GROUP);
+
+ /* OFPR_PACKET_OUT is not supported before OF1.4 */
+ master[OAM_PACKET_IN] &= ~(1u << OFPR_PACKET_OUT);
+ slave [OAM_PACKET_IN] &= ~(1u << OFPR_PACKET_OUT);
+
+ /* OFPRR_GROUP_DELETE is not supported before OF1.4 */
+ master[OAM_FLOW_REMOVED] &= ~(1u << OFPRR_GROUP_DELETE);
+ slave [OAM_FLOW_REMOVED] &= ~(1u << OFPRR_GROUP_DELETE);
+
+ /* OFPRR_METER_DELETE is not supported before OF1.4 */
+ master[OAM_FLOW_REMOVED] &= ~(1u << OFPRR_METER_DELETE);
+ slave [OAM_FLOW_REMOVED] &= ~(1u << OFPRR_METER_DELETE);
+
+ /* OFPRR_EVICTION is not supported before OF1.4 */
+ master[OAM_FLOW_REMOVED] &= ~(1u << OFPRR_EVICTION);
+ slave [OAM_FLOW_REMOVED] &= ~(1u << OFPRR_EVICTION);
+ }