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

    import opendaylight-inventory {prefix inv; revision-date "2013-08-19";}
    import opendaylight-queue-types {prefix queue-type; revision-date "2013-09-25";}
    import opendaylight-port-types {prefix port-type; revision-date "2013-09-25";}

    description "Openflow queue exploration.";

    revision "2015-03-05" {
        description "Removed notification, added input into routed queue exploration rpc.";
    }        
    
    grouping node-queue {
        description "Openflow queue identification struc";

        uses "inv:node-context-ref";
        uses queue-type:queue-packet;
    }

     
    rpc get-queue {
        description "Exploring openflow device queues.";

        input {
            uses "inv:node-context-ref";
            leaf port-number {
                description "Port to be queried. 
                  Should refer to a valid physical port (i.e. < OFPP_MAX),
                  or OFPP_ANY to request all configured queues.";
                type port-type:port-number-uni;
            }
        }
        output {
            list packet-queues {
                uses queue-type:queue-packet;
            }
        }
    }  
}