X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-api%2Fsrc%2Fmain%2Fyang%2Fopenflow-action.yang;h=0f579fa0bbb984dc3d0f8de39034e14560e2ac02;hb=07de1ed897da9d7dc70c6d550f38c59339ed751e;hp=bb43ed402485cf40d59a8ff7ba16441004186d68;hpb=00a7ea60960149c9c5f7fbe8157ed58ea05b8f2f;p=openflowjava.git diff --git a/openflow-protocol-api/src/main/yang/openflow-action.yang b/openflow-protocol-api/src/main/yang/openflow-action.yang index bb43ed40..0f579fa0 100644 --- a/openflow-protocol-api/src/main/yang/openflow-action.yang +++ b/openflow-protocol-api/src/main/yang/openflow-action.yang @@ -1,178 +1,153 @@ -module openflow-action { +/* + * 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-action { namespace "urn:opendaylight:openflow:common:action"; prefix "ofaction"; import openflow-types { prefix oft; } revision "2013-07-31" { - description "Initial model"; + description "OpenFlow 1.3 - action model"; } identity output { - description " Output to switch port. "; - base oft:action; + description " Output to switch port. (both OF v1.0 and v1.3)"; + base oft:action-base; } identity copy_ttl_out { description " Copy TTL \"outwards\" -- from next-to-outermost to outermost "; - base oft:action; + base oft:action-base; } identity copy_ttl_in { description " Copy TTL \"inwards\" -- from outermost to next-to-outermost "; - base oft:action; + base oft:action-base; } identity set_mpls_ttl { description " MPLS TTL "; - base oft:action; + base oft:action-base; } identity dec_mpls_ttl { description " Decrement MPLS TTL "; - base oft:action; + base oft:action-base; } identity push_vlan { description " Push a new VLAN tag "; - base oft:action; + base oft:action-base; } identity pop_vlan { description " Pop the outer VLAN tag "; - base oft:action; + base oft:action-base; } identity push_mpls { description " Push a new MPLS tag "; - base oft:action; + base oft:action-base; } identity pop_mpls { description " Pop the outer MPLS tag "; - base oft:action; + base oft:action-base; } identity set_queue { description " Set queue id when outputting to a port "; - base oft:action; + base oft:action-base; } identity group { description " Apply group. "; - base oft:action; + base oft:action-base; } identity set_nw_ttl { description " IP TTL. "; - base oft:action; + base oft:action-base; } identity dec_nw_ttl { description " Decrement IP TTL. "; - base oft:action; + base oft:action-base; } identity set_field { description " Set a header field using OXM TLV format. "; - base oft:action; + base oft:action-base; } identity push_pbb { description " Push a new PBB service tag (I-TAG) "; - base oft:action; + base oft:action-base; } identity pop_pbb { description " Pop the outer PBB service tag (I-TAG) "; - base oft:action; + base oft:action-base; } identity experimenter { description ""; - 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 - } - } - } - } + base oft:action-base; } - grouping group { - leaf group { - type oft:group-id; // define action group-id type; - } + identity experimenter-action-sub-type { + description "The base identity for vendor's actions."; } - grouping set-queue { - leaf queue { - type oft:queue-id; - } + container actions-container { + uses actions-grouping; } - grouping set-mpls-ttl { - leaf mpls_ttl { - type uint8; + grouping actions-grouping { + list action { + config false; + leaf type { + type identityref { + base oft:action-base; + } + } } } - grouping set-nw-ttl { - leaf nw_ttl { - type uint8; - } + // OF1.0 structures + identity set_vlan_vid { + description "Set the 802.1q VLAN id (OF v1.0)."; + base oft:action-base; } - - grouping push-pbb { - leaf ethertype { - type oft:ether-type; - } + identity set_vlan_pcp { + description "Set the 802.1q priority (OF v1.0)."; + base oft:action-base; } - - grouping push-mpls { - leaf ethertype { - type oft:ether-type; - } + identity strip_vlan { + description "Strip the 802.1q header (OF v1.0)."; + base oft:action-base; } - - grouping push-vlan { - leaf ethertype { - type oft:ether-type; - } + identity set_dl_src { + description "Ethernet source address (OF v1.0)."; + base oft:action-base; } - - grouping pop-mpls { - leaf ethertype { - type oft:ether-type; - } + identity set_dl_dst { + description "Ethernet destination address (OF v1.0)."; + base oft:action-base; } - - grouping set-field { - container field { - // TODO: figure definition - } + identity set_nw_src { + description "IP source address (OF v1.0)."; + base oft:action-base; } - - - grouping action-header { - leaf type { - type identityref { - base oft:action; - } - } - choice action-type { - case output { - uses output; - } - } + identity set_nw_dst { + description "IP destination address (OF v1.0)."; + base oft:action-base; + } + identity set_nw_tos { + description "IP ToS (DSCP field, 6 bits) (OF v1.0)."; + base oft:action-base; + } + identity set_tp_src { + description "TCP/UDP source port (OF v1.0)."; + base oft:action-base; } - -} \ No newline at end of file + identity set_tp_dst { + description "TCP/UDP destination port (OF v1.0)."; + base oft:action-base; + } + identity enqueue { + description "Output to queue (OF v1.0)."; + base oft:action-base; + } + +}