0

dpid に基づいて simple_switch_13.py と hub.py をインスタンス化するカスタム コントローラー ファイルを作成しようとしています。スイッチまたはハブの作成時に dpid の割り当てを担当するクラスを見つけるのに苦労しています。誰かがこれに対する解決策を教えてもらえますか?
これは私が書いたコードです

import logging
import warnings
from ryu.base import app_manager
from ryu.app.simple_switch_13 import SimpleSwitch13
from ryu.lib.dpid import dpid_to_str
from ryu.controller import dpset

LOG = logging.getLogger('ryu.controller.dpset')
homeDir = '/home/click'

class Controller(object):
def __init__( self, name, *ryuArgs, **kwargs ):
ryuCoreDir = '%s/ryu/ryu/app/' % homeDir
if not ryuArgs:
        print( 'warning: no Ryu modules specified; '
              'running simple_switch only\n' )
        #ryuArgs = [ ryuCoreDir + 'simple_switch.py' ]
        ryuArgs = [' '] 
    elif type( ryuArgs ) not in ( list, tuple ):
        ryuArgs = [ ryuArgs ]

    Controller.__init__( self, name,
                         command='ryu-manager',
                         cargs='--ofp-tcp-listen-port %s ' +
                         ' '.join( ryuArgs ),
                         cdir=ryuCoreDir,
                         **kwargs )

def switch_features_handler(self, ev):

    data_path_id = dpid_to_str(ev.dpid)
    if (data_path_id == "00-00-00-00-02-01" or data_path_id == "00-00-00-00-02-02" or data_path_id == "00-00-00-00-02-03" or data_path_id == "00-00-00-00-02-04" or data_path_id == "00-00-00-00-02-05"):
        SimpleSwitch13(app_manager.RyuApp)
4

0 に答える 0