1 module packet-processing {
2 namespace "urn:opendaylight:packet:service";
5 import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
6 import ietf-yang-types {prefix yang;revision-date "2013-07-15";}
7 import opendaylight-match-types {prefix match-type;revision-date "2013-10-26";}
8 import opendaylight-table-types {prefix table-type;revision-date "2013-10-26";}
9 import opendaylight-action-types {prefix action-type;revision-date "2013-11-12";}
10 import opendaylight-flow-types {prefix flow-type;revision-date "2013-10-26";}
11 import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; }
13 description "Packet processing - sending and receiving.";
15 revision "2013-07-09" {
16 description "Initial.";
19 typedef connection-cookie {
20 description "Openflow connection identifier. Outgoing packets should use the same connection they came in.";
25 description "Basic packet structure.";
27 type inv:node-connector-ref;
35 leaf connection-cookie {
36 type connection-cookie;
40 type flow-type:flow-cookie;
44 type table-type:table-id;
47 leaf packet-in-reason {
49 base packet-in-reason;
56 grouping ethernet-packet {
57 description "Ethernet packet headers structure.";
59 type yang:mac-address;
63 type yang:mac-address;
67 identity packet-in-reason {
68 description "Base identity for all the available packet in reasons.";
72 base packet-in-reason;
73 description "No matching flow in the classifier";
76 identity send-to-controller {
77 base packet-in-reason;
78 description "Explicit instruction to send packet to controller";
81 identity invalid-ttl {
82 base packet-in-reason;
83 description "Packet with invalid TTL";
86 notification packet-received {
87 description "Delivery of incoming packet wrapped in openflow structure.";
91 uses match-type:match;
96 description "Sending packet out through openflow device.";
98 uses inv:node-context-ref;
100 leaf connection-cookie {
101 type connection-cookie;
105 type inv:node-connector-ref;
112 uses action-type:action-list;
116 container packet-in-message {
118 uses ofproto:ofHeader;
121 uses match-type:match;