From 3fdb2dabecfc02bc7669e97d27b96efb14ce040a Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Mon, 27 Aug 2012 11:37:27 +0900 Subject: packet lib: add data serialize support to Packet class This enables you to send data with Packet class. Signed-off-by: FUJITA Tomonori --- ryu/lib/packet/packet.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ryu/lib/packet/packet.py b/ryu/lib/packet/packet.py index bbe4de9d..c7963af7 100644 --- a/ryu/lib/packet/packet.py +++ b/ryu/lib/packet/packet.py @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +from . import packet_base from . import ethernet @@ -37,11 +38,14 @@ class Packet(object): self.data = bytearray() r = self.protocols[::-1] for i, p in enumerate(r): - if i == len(r) - 1: - prev = None + if p.__class__.__bases__[0] == packet_base.PacketBase: + if i == len(r) - 1: + prev = None + else: + prev = r[i + 1] + data = p.serialize(self.data, prev) else: - prev = r[i + 1] - data = p.serialize(self.data, prev) + data = str(p) self.data = data + self.data def add_protocol(self, proto): -- cgit v1.2.3