X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmodel%2Fmodel-flow-base%2Fsrc%2Fmain%2Fyang%2Ftable-types.yang;fp=opendaylight%2Fmd-sal%2Fmodel%2Fmodel-flow-base%2Fsrc%2Fmain%2Fyang%2Ftable-types.yang;h=0b77d758672051d212a0c7b82b4f7151626c59e3;hb=d23124e814e435b60e98a4b6f49433853a97a40f;hp=0000000000000000000000000000000000000000;hpb=31c8f18732b81576823b7b7172969ed207b07cc7;p=controller.git diff --git a/opendaylight/md-sal/model/model-flow-base/src/main/yang/table-types.yang b/opendaylight/md-sal/model/model-flow-base/src/main/yang/table-types.yang new file mode 100644 index 0000000000..0b77d75867 --- /dev/null +++ b/opendaylight/md-sal/model/model-flow-base/src/main/yang/table-types.yang @@ -0,0 +1,181 @@ +module opendaylight-table-types { + namespace "urn:opendaylight:table:types"; + prefix table; + + import ietf-inet-types {prefix inet;} + import ietf-yang-types {prefix yang;} + import opendaylight-flow-types {prefix flow;} + + + revision "2013-10-26" { + description "Initial revision of table service"; + } + + typedef table-ref { + type instance-identifier; + } + + typedef table-config { + type bits { + bit DEPRECATED-MASK; + } + } + + grouping table-feature-prop-type { + choice table-feature-prop-type { + case instructions { + container instructions { + uses flow:instruction-list; + } + } + + case instructions-miss { + container instructions-miss { + uses flow:instruction-list; + } + } + + case next-table { + container tables { + list table-id { + key "table"; + + leaf table-id { + type table-ref; + } + } + } + } + + case next-table-miss { + container tables { + list table-id { + key "table-id"; + + leaf table-id { + type table-ref; + } + } + } + } + + case write-actions { + container write-actions { + uses flow:action-list; + } + } + + case write-actions-miss { + container write-actions-miss { + uses flow:action-list; + } + } + + case apply-actions { + container apply-actions { + uses flow:action-list; + } + } + + case apply-actions-miss { + container apply-actions-miss { + uses flow:action-list; + } + } + + case match { + container matches { + leaf-list match { + type uint32; + } + } + } + + case wildcards { + container wildcards { + leaf-list wildcard { + type uint32; + } + } + } + + case write-setfield { + container write-setfield { + leaf-list setfield { + type uint32; + } + } + } + + case write-setfield-miss { + container write-setfield-miss { + leaf-list setfield { + type uint32; + } + } + } + + case apply-setfield { + container apply-setfield { + leaf-list setfield { + type uint32; + } + } + } + + case apply-setfield-miss { + container apply-setfield-miss { + leaf-list setfield { + type uint32; + } + } + } + } + } + + grouping table-features { + list table-features { + key "table-id"; + + leaf table-id { + type table-ref; + } + + leaf name { + description "Name of the table"; + type string; + } + + leaf metadata-match { + description "Bits of metadata table can match"; + type uint64; + } + + leaf metadata-write { + description "Bits of metadata table can write"; + type uint64; + } + + leaf max-entries { + description "Max number of entries supported"; + type uint32; + } + + leaf config { + description "Bitmap of OFPTC_ values"; + type table-config; + } + + container table-properties { + list instruction-id { + key "order"; + leaf order { + type int32; + } + + uses table-feature-prop-type; + } + } + } + } +} \ No newline at end of file