module sal-async-config { namespace "urn:opendaylight:async-config:service"; prefix async-config; import opendaylight-inventory {prefix inv;revision-date "2013-08-19";} import opendaylight-port-types {prefix port-type;revision-date "2013-09-25";} import opendaylight-flow-types { prefix flow-types; revision-date "2013-10-26"; } import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; } import packet-processing { prefix packet-processing; revision-date "2013-07-09"; } description "Asynchronous configuration message."; revision "2017-06-19" { description "Initial revision of asynchronous configuration service."; } typedef packet-in-mask { type bits { bit NO_MATCH; bit ACTION; bit INVALID_TTL; } } typedef port-status-mask { description "Be careful when modifying this configuration, as this can impact lldp-speaker"; type bits { bit ADD; bit DELETE; bit UPDATE; } } typedef flow-removed-mask { description "Be careful when modifying this configuration, as this can impact FRM."; type bits { bit IDLE_TIMEOUT; bit HARD_TIMEOUT; bit DELETE; bit GROUP_DELETE; } } grouping async-config { container packet-in-mask { leaf master-mask { type packet-in-mask; } leaf slave-mask { type packet-in-mask; } } container port-status-mask { leaf master-mask { type port-status-mask; } leaf slave-mask { type port-status-mask; } } container flow-removed-mask { leaf master-mask { type flow-removed-mask; } leaf slave-mask { type flow-removed-mask; } } } container async-config-message { uses ofproto:ofHeader; uses async-config; } rpc set-async { description "Controller to switch message set configuration."; input { uses "inv:node-context-ref"; uses async-config; } } rpc get-async { description "Controller to switch message get configuration."; input { uses "inv:node-context-ref"; } output { uses async-config; } } }