我需要测量 Ryu 控制器中的链接延迟。我想通过控制器为所有交换机发送分组输出消息,并计算发送分组输出消息和接收分组输入消息之间的时间。我是 Ryu 的初学者,不知道如何将具有特定 EtherType(例如 0x8fc)的数据包发送到所有交换机。我已经获得了所有交换机的 MAC 并构建了一个数据包。如何将具有特定 EtherType 的数据包发送到所有交换机?我不知道每个开关的 db 参数是什么?
def send_packet(self, dp, port, pkt):
ofproto = dp.ofproto
parser = dp.ofproto_parser
pkt.serialize()
data = pkt.data
action = [parser.OFPActionOutput(port=port)]
out = parser.OFPPacketOut(
datapath=dp, buffer_id=ofproto.OFP_NO_BUFFER,
in_port=ofproto.OFPP_CONTROLLER,
actions=action, data=data)
dp.send_msg(out)
def create_packet(self):
i=l=0
for l in range(1,len(self.adjacency)+1):
#print("\n")
for i in self.adjacency[l]:
ethertype = 0x8fc
dst = self.macaddr(i)
src = self.macaddr(l)
e = ethernet.ethernet(dst, src, ethertype)
p = packet.Packet()
p.add_protocol(e)
p.add_protocol(time.time())
p.serialize()
port=self.adjacency[l][i]
send_packet(self, dp **??????** , port, p):