-module openflow-instruction {
+/*
+ * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+ module openflow-instruction {
namespace "urn:opendaylight:openflow:common:instruction";
prefix "ofinstruction";
import openflow-types { prefix oft; }
revision "2013-07-31" {
- // description "Initial model";
+ description "OpenFlow 1.3 - instruction model";
}
identity goto_table {
- //description " Setup the next table in the lookup pipeline";
- base oft:instruction;
+ description " Setup the next table in the lookup pipeline";
+ base oft:instruction-base;
}
identity write_metadata {
- //description " Setup the metadata field for use later in pipeline";
- base oft:instruction;
+ description " Setup the metadata field for use later in pipeline";
+ base oft:instruction-base;
}
identity write_actions {
description " Write the action(s) onto the datapath action set";
- base oft:instruction;
+ base oft:instruction-base;
}
identity apply_actions {
description " Applies the action(s) immediately";
- base oft:instruction;
+ base oft:instruction-base;
}
identity clear_actions {
description " Clears all actions from the datapath action set";
- base oft:instruction;
+ base oft:instruction-base;
}
identity meter {
description " Apply meter (rate limiter)";
- base oft:instruction;
+ base oft:instruction-base;
}
identity experimenter {
description "Experimenter instruction";
- base oft:instruction;
- }
-
- // Structures
-
- grouping goto-table {
- description " Setup the next table in the lookup pipeline";
- leaf table {
- type oft:table-id; //
- }
- }
- grouping write-metadata {
- description " Setup the metadata field for use later in pipeline";
- leaf metadata {
- type oft:metadata;
- }
- leaf mask {
- type oft:metadata;
- }
- }
- grouping actions {
- leaf type {
- type enumeration {
- enum write {
- description " Write the action(s) onto the datapath action set";
- }
- enum apply {
- description " Applies the action(s) immediately";
- }
- enum clear {
- description " Clears all actions from the datapath action set";
- }
- }
- }
- list action {
- // TBD
- }
- }
-
- grouping meter {
- description " Apply meter (rate limiter)";
- leaf meter-id {
- type oft:meter-id;
- }
+ base oft:instruction-base;
}
- container instruction {
- uses instructions;
+ container instruction-container {
+ uses instructions-grouping;
}
- grouping instructions {
- leaf type {
- type identityref {
- base oft:instruction;
+ grouping instructions-grouping {
+ list instruction {
+ config false;
+ leaf type {
+ type identityref {
+ base oft:instruction-base;
+ }
}
}
}