module sal-port {
    namespace "urn:opendaylight:port:service";
    prefix port;

    import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
    import opendaylight-port-types {prefix port-type;revision-date "2013-09-25";}
    import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}

    description "Openflow port management.";

    revision "2013-11-07" {
        description "Initial revision of port service";
    }

    // Base configuration structure
    grouping port-update {
        description "DataStore aware openflow port configuration update structure suitable for rpc (contains node-context-ref).";

        uses "inv:node-context-ref";

        container original-port {
            uses port-type:port-mod;
        }
        container updated-port {
            uses port-type:port-mod;
        }
    }

    rpc update-port {
        description "Updating port on openflow device.";
        input {
            uses port-update;
            uses tr:transaction-aware;
        }
        output {
            uses tr:transaction-aware;
        }
    }
}