import openflow-types { prefix oft; }
revision "2013-07-31" {
- description "Initial model";
+ description "OpenFlow 1.3 - action model";
}
identity output {
base oft:action;
}
- grouping output {
- description
- "Action structure for OFPAT_OUTPUT, which sends packets out 'port'.
- When the 'port' is the OFPP_CONTROLLER, 'max_len' indicates the max
- number of bytes to send. A 'max_len' of zero means no bytes of the
- packet should be sent. A 'max_len' of OFPCML_NO_BUFFER means that
- the packet is not buffered and the complete packet is to be sent to
- the controller.";
- leaf port {
- type oft:any-port-number;
- }
- leaf max-length {
- description "Maximum packet length to be send to controller.";
- type union {
- type uint16 {
- range "0..65294"; // 0..0xff0e
- }
- type enumeration {
- enum no-buffer {
- description
- "indicates that no buffering should be
- applied and the whole packet is to be
- sent to the controller";
- value 65535; //0xffff
+ container actions-container {
+ uses actions;
+ }
+
+ grouping actions {
+ list actions-list {
+ key "action";
+ container action {
+ leaf type {
+ type identityref {
+ base oft:action;
}
}
}
}
}
-
- grouping group {
- leaf group {
- type oft:group-id; // define action group-id type;
- }
+
+ // OF1.0 structures
+ identity set_vlan_vid {
+ description "";
+ base oft:action;
}
-
- grouping set-queue {
- leaf queue {
- type oft:queue-id;
- }
+ identity set_vlan_pcp {
+ description "";
+ base oft:action;
}
-
- grouping set-mpls-ttl {
- leaf mpls_ttl {
- type uint8;
- }
+ identity strip_vlan {
+ description "";
+ base oft:action;
}
-
- grouping set-nw-ttl {
- leaf nw_ttl {
- type uint8;
- }
+ identity set_dl_src {
+ description "";
+ base oft:action;
}
-
- grouping push-pbb {
- leaf ethertype {
- type oft:ether-type;
- }
+ identity set_dl_dst {
+ description "";
+ base oft:action;
}
-
- grouping push-mpls {
- leaf ethertype {
- type oft:ether-type;
- }
+ identity set_nw_src {
+ description "";
+ base oft:action;
}
-
- grouping push-vlan {
- leaf ethertype {
- type oft:ether-type;
- }
+ identity set_nw_dst {
+ description "";
+ base oft:action;
}
-
- grouping pop-mpls {
- leaf ethertype {
- type oft:ether-type;
- }
+ identity set_nw_tos {
+ description "";
+ base oft:action;
}
-
- grouping set-field {
- container field {
- // TODO: figure definition
- }
+ identity set_tp_src {
+ description "";
+ base oft:action;
}
-
-
- grouping action-header {
- leaf type {
- type identityref {
- base oft:action;
- }
- }
- choice action-type {
- case output {
- uses output;
- }
- }
+ identity set_tp_dst {
+ description "";
+ base oft:action;
}
-
+ identity enqueue {
+ description "";
+ base oft:action;
+ }
+
}
\ No newline at end of file