以下のように、2 つのホストと 1 つのスイッチで Ryu コントローラーと Mininet インスタンスを実行しています。
H1---S---H2
Ryuコントローラのコード
from ryu.base import app_manager
from ryu.controller import ofp_event
from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER
from ryu.controller.handler import set_ev_cls
from ryu.ofproto import ofproto_v1_3
from ryu.lib.packet import packet
from ryu.lib.packet import ethernet
from ryu.lib.packet import ether_types
class SimpleSwitch13(app_manager.RyuApp):
OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]
def __init__(self, *args, **kwargs):
super(SimpleSwitch13, self).__init__(*args, **kwargs)
self.mac_to_port = {}
@set_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER)
def switch_features_handler(self, ev):
datapath = ev.msg.datapath
ofproto = datapath.ofproto
parser = datapath.ofproto_parser
基本的に、スイッチ フロー テーブルは空です。この場合、h1 ping h2
ミニネット コンソールから実行してパケット交換を記録すると、これがホスト h1 からの Wireshark で得られるものです。
mininet インスタンスにはルーターがありません。ping を開始したのと同じホストから ICMP Host Destination Unreachable Message を受信するにはどうすればよいですか?