initial add - go fmt on grpc
Change-Id: Ib0afadd2fe5571d1456a091f94f5644458f7d3f4
diff --git a/openflow/packet.go b/openflow/packet.go
new file mode 100644
index 0000000..2bd46cd
--- /dev/null
+++ b/openflow/packet.go
@@ -0,0 +1,46 @@
+/*
+ Copyright 2017 the original author or authors.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package openflow
+
+import (
+ "encoding/json"
+ pb "github.com/opencord/voltha-protos/go/voltha"
+ ofp "github.com/skydive-project/goloxi/of13"
+ "log"
+)
+
+func handlePacketOut(packetOut *ofp.PacketOut, deviceId string) {
+ jsonMessage, _ := json.Marshal(packetOut)
+ log.Printf("handlePacketOut called with %s", jsonMessage)
+ pktOut := pb.OfpPacketOut{}
+ pktOut.BufferId = packetOut.GetBufferId()
+ pktOut.InPort = uint32(packetOut.GetInPort())
+ var actions []*pb.OfpAction
+ inActions := packetOut.GetActions()
+ for i := 0; i < len(inActions); i++ {
+ action := inActions[i]
+ var newAction = pb.OfpAction{}
+ newAction.Type = pb.OfpActionType(action.GetType())
+ actions = append(actions, &newAction)
+ }
+ pktOut.Actions = actions
+ pktOut.Data = packetOut.GetData()
+ pbPacketOut := pb.PacketOut{}
+ pbPacketOut.PacketOut = &pktOut
+ pbPacketOut.Id = deviceId
+ packetOutChannel <- pbPacketOut
+}