module packet-processing { namespace "urn:opendaylight:packet:service"; prefix flow; import yang-ext {prefix ext; revision-date "2013-07-09";} import opendaylight-inventory {prefix inv;revision-date "2013-08-19";} import ietf-yang-types {prefix yang;revision-date "2013-07-15";} import opendaylight-l2-types {prefix types;revision-date "2013-08-27";} import opendaylight-match-types {prefix match-type;revision-date "2013-10-26";} import opendaylight-table-types {prefix table-type;revision-date "2013-10-26";} import opendaylight-action-types {prefix action-type;revision-date "2013-11-12";} import opendaylight-flow-types {prefix flow-type;revision-date "2013-10-26";} description "Packet processing - sending and receiving."; revision "2013-07-09" { description "Initial."; } typedef connection-cookie { description "Openflow connection identifier. Outgoing packets should use the same connection they came in."; type uint32; } grouping raw-packet { description "Basic packet structure."; leaf ingress { type inv:node-connector-ref; } leaf payload { type binary; } } grouping ethernet-packet { description "Ethernet packet headers structure."; leaf source { type yang:mac-address; } leaf destination { type yang:mac-address; } } identity packet-in-reason { description "Base identity for all the available packet in reasons."; } identity no-match { base packet-in-reason; description "No matching flow in the classifier"; } identity send-to-controller { base packet-in-reason; description "Explicit instruction to send packet to controller"; } identity invalid-ttl { base packet-in-reason; description "Packet with invalid TTL"; } notification packet-received { description "Delivery of incoming packet wrapped in openflow structure."; leaf connection-cookie { type connection-cookie; } leaf flow-cookie { type flow-type:flow-cookie; } leaf table-id { type table-type:table-id; } leaf packet-in-reason { type identityref { base packet-in-reason; } } container match { uses match-type:match; } uses raw-packet; } rpc transmit-packet { description "Sending packet out through openflow device."; input { uses inv:node-context-ref; leaf connection-cookie { type connection-cookie; } leaf egress { type inv:node-connector-ref; } leaf buffer-id { type uint32; } uses raw-packet; uses action-type:action-list; } } }