コード例 #1
0
ファイル: rpl_node.py プロジェクト: abdelwas/Ryu-RPL
 def _broadcast_rpl_pkt(self, rpl):
     # broadcast
     dstip = ALL_RPL_NODES
     dstmac = BROADCAST_MAC
     for port in self.ports.keys():
         p = self.ports[port]
         pkt =  self._build_rpl_pkt(dodag,src_ip = self.ip, 
                          dst_ip = dstip, 
                          src_mac = p['hw_addr'], 
                          dst_mac = dstmac, rpl= rpl)
     
         send_packet(self.datapath, port, pkt)        
コード例 #2
0
ファイル: rpl_node.py プロジェクト: abdelwas/Ryu-RPL
 def _send_rpl_pkt(self, out_port=[], dst_ip=[], dst_mac =[], rpl):
     """
     out_port: list of output port numbers
     dst_ip: list of destination ip addresses for each output port
     dst_mac: list of dst mac of each output port
     """
     assert len(out_port) == len(dst_ip)
     assert len(dst_ip) == len(dst_mac)
     # unicast or multicast
     for i in range(out_port):
         port = out_port[i]
         dstip = dst_ip[i]
         dstmac = dst_mac[i]
         p = self.ports[port]
         pkt =  self._build_rpl_pkt(dodag,src_ip = self.ip, 
                          dst_ip = dstip, 
                          src_mac = p['hw_addr'], 
                          dst_mac = dstmac, rpl= rpl)
     
         send_packet(self.datapath, port, pkt)