module nicira-action { yang-version 1; namespace "urn:opendaylight:openflowjava:nx:action"; prefix "nicira-action"; import openflow-action {prefix ofaction;} import openflow-types {prefix oft;} import yang-ext {prefix ext; revision-date "2013-07-09";} description "Nicira openflow extensions of action."; revision "2014-04-21" { description "Initial revision"; } identity nxm-nx-reg-load { base ofaction:experimenter-action-sub-type; } identity nxm-nx-reg-move { base ofaction:experimenter-action-sub-type; } identity nxm-nx-output-reg { base ofaction:experimenter-action-sub-type; } identity nxm-nx-resubmit { base ofaction:experimenter-action-sub-type; } identity nxm-nx-multipath { base ofaction:experimenter-action-sub-type; } grouping ofj-nx-action-reg-load-grouping { container action-reg-load { leaf ofs_nbits { type uint16; } leaf dst { type uint32; } leaf value { type uint64; } } } grouping ofj-nx-action-reg-move-grouping { container action-reg-move { leaf n_bits { type uint16; } leaf src_ofs { type uint16; } leaf dst_ofs { type uint16; } leaf src { type uint32; } leaf dst { type uint32; } } } grouping ofj-nx-action-output-reg-grouping { container action-output-reg { leaf n_bits { type uint16; } leaf src { type uint32; } leaf max_len { type uint16; } } } grouping ofj-nx-action-resubmit-grouping { container action-resubmit { leaf in-port { type uint16; default 0xfff8; // OFPP_INPORT } leaf table { type uint8 { range "0 .. 255"; } default 255; // Current Table } } } typedef ofj-nx-hash-fields { type enumeration { enum NX_HASH_FIELDS_ETH_SRC { value 0; description "eth src address only"; } enum NX_HASH_FIELDS_SYMMETRIC_L4 { value 1; description "L2 through L4 fields"; } } } typedef ofj-nx-mp-algorithm { type enumeration { enum NX_MP_ALG_MODULO_N { value 0; } enum NX_MP_ALG_HASH_THRESHOLD { value 1; } enum NX_MP_ALG_HRW { value 2; } enum NX_MP_ALG_ITER_HASH { value 3; } } } grouping ofj-nx-action-multipath-grouping { container action-multipath { leaf fields { type ofj-nx-hash-fields; } leaf basis { type uint16; default 0x400; } leaf algorithm { type ofj-nx-mp-algorithm; } leaf max-link { type uint16; } leaf arg { type uint32; } leaf ofs-nbits { type uint16; } leaf dst { type uint32; } } } augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "ofj-aug-nx-action"; uses ofj-nx-action-reg-load-grouping; uses ofj-nx-action-reg-move-grouping; uses ofj-nx-action-output-reg-grouping; uses ofj-nx-action-resubmit-grouping; uses ofj-nx-action-multipath-grouping; } }