[dts] [PATCH V2]dep/lldp: fix lldp for python3
Xiao Qimai
qimaix.xiao at intel.com
Thu Jan 16 09:08:48 CET 2020
python3 will not allow concat str to bytes
Signed-off-by: Xiao Qimai <qimaix.xiao at intel.com>
---
dep/lldp.py | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/dep/lldp.py b/dep/lldp.py
index 9792e05..faa3b4d 100644
--- a/dep/lldp.py
+++ b/dep/lldp.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
## This file is part of Scapy
## See http://www.secdev.org/projects/scapy for more informations
## Copyright (C) Philippe Biondi <phil at secdev.org>
@@ -78,7 +79,7 @@ class LLDPGeneric(Packet):
def post_build(self, p, pay):
if self.length is None:
l = len(p) - 2
- p = chr((self.type << 1) ^ (l >> 8)) + chr(l & 0xff) + bytes.decode(p[2:], encoding='gbk')
+ p = chr((self.type << 1) ^ (l >> 8)).encode() + chr(l & 0xff).encode() + p[2:]
return p+pay
@@ -211,15 +212,13 @@ class LLDPManagementAddress(LLDPGeneric):
# TODO Remove redundant code. LLDPGeneric.post_build()
if self.length is None:
l = len(p) - 2
- p = chr((self.type << 1) ^ (l >> 8)) + chr(l & 0xff) + p[2:].decode()
+ p = chr((self.type << 1) ^ (l >> 8)).encode() + chr(l & 0xff).encode() + p[2:]
if self.addrlen is None:
addrlen = len(p) - 2 - 8 - len(self.oid) + 1
- if isinstance(p, type('abc')):
- p = p[:2]+ struct.pack("B", addrlen).decode() + p[3:]
- else:
- p = p[:2].decode() + struct.pack("B", addrlen).decode() + p[3:].decode()
- return bytes(p, encoding="utf-8")+pay
+ p = p[:2] + struct.pack("B", addrlen) + p[3:]
+
+ return p+pay
_LLDPDot1Subtype = {1: "Port VLAN Id"}
--
2.17.1
More information about the dts
mailing list