1 module packet-processing {
2 namespace "urn:opendaylight:packet:service";
5 import yang-ext {prefix ext; revision-date "2013-07-09";}
6 import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
7 import ietf-yang-types {prefix yang;revision-date "2013-07-15";}
8 import opendaylight-l2-types {prefix types;revision-date "2013-08-27";}
9 import opendaylight-match-types {prefix match-type;revision-date "2013-10-26";}
10 import opendaylight-table-types {prefix table-type;revision-date "2013-10-26";}
11 import opendaylight-action-types {prefix action-type;revision-date "2013-11-12";}
12 import opendaylight-flow-types {prefix flow-type;revision-date "2013-10-26";}
13 import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; }
15 description "Packet processing - sending and receiving.";
17 revision "2013-07-09" {
18 description "Initial.";
21 typedef connection-cookie {
22 description "Openflow connection identifier. Outgoing packets should use the same connection they came in.";
27 description "Basic packet structure.";
29 type inv:node-connector-ref;
37 leaf connection-cookie {
38 type connection-cookie;
42 type flow-type:flow-cookie;
46 type table-type:table-id;
49 leaf packet-in-reason {
51 base packet-in-reason;
58 grouping ethernet-packet {
59 description "Ethernet packet headers structure.";
61 type yang:mac-address;
65 type yang:mac-address;
69 identity packet-in-reason {
70 description "Base identity for all the available packet in reasons.";
74 base packet-in-reason;
75 description "No matching flow in the classifier";
78 identity send-to-controller {
79 base packet-in-reason;
80 description "Explicit instruction to send packet to controller";
83 identity invalid-ttl {
84 base packet-in-reason;
85 description "Packet with invalid TTL";
88 notification packet-received {
89 description "Delivery of incoming packet wrapped in openflow structure.";
93 uses match-type:match;
98 description "Sending packet out through openflow device.";
100 uses inv:node-context-ref;
102 leaf connection-cookie {
103 type connection-cookie;
107 type inv:node-connector-ref;
114 uses action-type:action-list;
118 container packet-in-message {
120 uses ofproto:ofHeader;
123 uses match-type:match;