修改POX代码以添加自定义TLV

2024-05-13 05:08:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用POX控制器并尝试创建自定义LLDP数据包。从一些论文中,我发现它添加到了组织特定的TLV 127中。我正在与mininet和pox控制器合作。 下面是在pox中添加组织特定TLV的代码片段

class organizationally_specific (simple_tlv):
  tlv_type = lldp.ORGANIZATIONALLY_SPECIFIC_TLV

  def _init (self, kw):
    self.oui = '\x00\x00\x00'
    self.subtype = 0
    self.payload = b''

  def _parse_data (self, data):
    (self.oui,self.subtype) = struct.unpack("3sB", data[0:4])
    self.payload = data[4:]

  def _pack_data (self):
    return struct.pack('!3sB', self.oui, self.subtype) + self.payload

我的问题是如何修改此代码以添加一些特定的TLV,如随机数


Tags: 代码selfdatadef控制器structpackpayload