summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHiyama Manabu <hiyama.manabu@po.ntts.co.jp>2012-09-10 11:29:11 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2012-09-10 14:31:36 +0900
commitd26cbddf26193f12193e4e009df92ecd2e814677 (patch)
tree52a307c13804c850ae1d6b6bb2a1f846dbc2cc9e
parentae0253a36c8787b645d33eb109636ca009d65f96 (diff)
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>
-rw-r--r--ryu/lib/packet/ipv4.py6
1 files 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,