From d26cbddf26193f12193e4e009df92ecd2e814677 Mon Sep 17 00:00:00 2001
From: Hiyama Manabu <hiyama.manabu@po.ntts.co.jp>
Date: Mon, 10 Sep 2012 11:29:11 +0900
Subject: [PATCH] packet lib: fix ipv4 flags bitshift

Fixed flags bitshift.

Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
---
 ryu/lib/packet/ipv4.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ryu/lib/packet/ipv4.py b/ryu/lib/packet/ipv4.py
index 343049a5..e4f87782 100644
--- a/ryu/lib/packet/ipv4.py
+++ b/ryu/lib/packet/ipv4.py
@@ -50,8 +50,8 @@ class ipv4(packet_base.PacketBase):
          src, dst) = struct.unpack_from(cls._PACK_STR, buf)
         header_length = version & 0xf
         version = version >> 4
-        offset = flags & ((1 << 15) - 1)
-        flags = flags >> 15
+        offset = flags & ((1 << 13) - 1)
+        flags = flags >> 13
         msg = cls(version, header_length, tos, total_length, identification,
                   flags, offset, ttl, proto, csum, src, dst)
 
@@ -63,7 +63,7 @@ class ipv4(packet_base.PacketBase):
     def serialize(self, payload, prev):
         hdr = bytearray().zfill(self.header_length * 4)
         version = self.version << 4 | self.header_length
-        flags = self.flags << 15 | self.offset
+        flags = self.flags << 13 | self.offset
         if self.total_length == 0:
             self.total_length = self.header_length * 4 + len(payload)
         struct.pack_into(ipv4._PACK_STR, hdr, 0, version, self.tos,