ryu-sdn-controller-mac-os-x-omniswitch
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ryu-sdn-controller-mac-os-x-omniswitch [2014/07/30 16:47] – angelegt benny | ryu-sdn-controller-mac-os-x-omniswitch [2024/06/09 10:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Ryu SDN-Controller auf MacOS X ====== | + | ====== Ryu SDN-Controller auf MacOS X installieren |
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| - | An diesem Artikel wird gearbeitet. | + | An diesem Artikel wird gearbeitet. |
| </ | </ | ||
| - | Notizen: | + | ===== Voraussetzungen ===== |
| - | mkdir ryu | + | * Ich verwende Mac OS X v10.9 |
| + | * Python v2.7 ist bereits an Bord | ||
| + | * '' | ||
| + | * Ich empfehle dringend den Einsatz von '' | ||
| + | * XCode v5.1.1 (Apple AppStore, wichtig sind die command-line Tools) | ||
| + | * XCode Command-Line Tools ('' | ||
| + | * '' | ||
| - | Ich empfehle " | + | ===== Die Installation ===== |
| - | Beschreiben welches XCODE ich installiert habe (Command-Line Tools) | + | |
| - | virtualenv ryu/ | + | Ich empfehle die Installation in folgenden Schritten. |
| - | Macbook: | + | ==== virtualenv erstellen & aktivieren ==== |
| + | < | ||
| + | Macbook: | ||
| + | New python executable in ryu-3.11/ | ||
| + | Installing setuptools, pip...done. | ||
| + | Macbook: | ||
| + | (ryu-3.11)Macbook: | ||
| + | </ | ||
| - | 1. Versuch | + | ==== lxml zuerst installieren ==== |
| + | <WRAP center round important 60%> | ||
| + | Es ist wichtig das Kommando wie unten beschrieben einzugeben! '' | ||
| + | </ | ||
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | Downloading/ | ||
| + | Downloading lxml-3.3.5.tar.gz (3.5MB): 3.5MB downloaded | ||
| + | Running setup.py (path:/ | ||
| + | (... Jede Menge CLI-Kilometer ausgelassen ...) | ||
| + | Successfully installed lxml | ||
| + | Cleaning up... | ||
| + | </ | ||
| + | |||
| + | ==== Ryu installieren ==== | ||
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | Downloading/ | ||
| + | Downloading ryu-3.12.tar.gz (1.1MB): 1.1MB downloaded | ||
| + | Running setup.py (path:/ | ||
| + | (... Jede Menge CLI-Kilometer ausgelassen ...) | ||
| + | Successfully installed ryu eventlet msgpack-python netaddr oslo.config paramiko routes six webob greenlet argparse pycrypto ecdsa repoze.lru | ||
| + | Cleaning up... | ||
| + | </ | ||
| + | Hält man diese Reihenfolge __nicht__ ein, dann schlägt a) die Installation von '' | ||
| + | <WRAP center round tip 60%> | ||
| + | An dieser Stelle ist es sinnvoll sich die Beispiele von Ryu zu kopieren, siehe: [[ryu-sdn-controller-mac-os-x-omniswitch# | ||
| + | </ | ||
| + | |||
| + | ===== Ryu in Aktion! ===== | ||
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | loading app ../ | ||
| + | loading app ryu.controller.ofp_handler | ||
| + | instantiating app ryu.controller.ofp_handler of OFPHandler | ||
| + | instantiating app ../ | ||
| + | BRICK SimpleSwitch13 | ||
| + | CONSUMES EventOFPPacketIn | ||
| + | CONSUMES EventOFPSwitchFeatures | ||
| + | BRICK ofp_event | ||
| + | PROVIDES EventOFPPacketIn TO {' | ||
| + | PROVIDES EventOFPSwitchFeatures TO {' | ||
| + | CONSUMES EventOFPPortDescStatsReply | ||
| + | CONSUMES EventOFPEchoRequest | ||
| + | CONSUMES EventOFPSwitchFeatures | ||
| + | CONSUMES EventOFPErrorMsg | ||
| + | CONSUMES EventOFPHello | ||
| + | </ | ||
| + | |||
| + | ===== OmniSwitch in Ryu registrieren ===== | ||
| + | <WRAP center round info 60%> | ||
| + | Ich hab Urlaub! Danach werde ich diese Anleitung sicherlich noch erweitern .. :) | ||
| + | </ | ||
| + | |||
| + | ==== OmniSwitch 6900 Konfiguration ==== | ||
| + | < | ||
| + | -> show configuration snapshot openflow | ||
| + | ! OPENFLOW: | ||
| + | openflow logical-switch OFSwitch vlan 2 | ||
| + | openflow logical-switch OFSwitch controller 192.168.10.100: | ||
| + | openflow logical-switch OFSwitch interfaces port 1/1-20 | ||
| + | </ | ||
| + | |||
| + | ==== Ausgaben von Ryu ==== | ||
| + | < | ||
| + | (ryu)Macbook: | ||
| + | loading app ../ | ||
| + | loading app ryu.controller.ofp_handler | ||
| + | instantiating app ryu.controller.ofp_handler of OFPHandler | ||
| + | instantiating app ../ | ||
| + | BRICK SimpleSwitch13 | ||
| + | CONSUMES EventOFPSwitchFeatures | ||
| + | CONSUMES EventOFPPacketIn | ||
| + | BRICK ofp_event | ||
| + | PROVIDES EventOFPSwitchFeatures TO {' | ||
| + | PROVIDES EventOFPPacketIn TO {' | ||
| + | CONSUMES EventOFPSwitchFeatures | ||
| + | CONSUMES EventOFPEchoRequest | ||
| + | CONSUMES EventOFPHello | ||
| + | CONSUMES EventOFPErrorMsg | ||
| + | CONSUMES EventOFPPortDescStatsReply | ||
| + | connected socket:< | ||
| + | hello ev < | ||
| + | move onto config mode | ||
| + | EVENT ofp_event-> | ||
| + | switch features ev version: 0x4 msg_type 0x6 xid 0x84975d27 OFPSwitchFeatures(auxiliary_id=0, | ||
| + | move onto main mode | ||
| + | </ | ||
| + | |||
| + | ===== Typische Fehlermeldungen bei der Installation | ||
| + | ==== lxml: xmlversion.h file not found ==== | ||
| + | An diesem Fehler ist mein erster Installationsversuch mit '' | ||
| + | Nach einiger Suche habe ich in den Untiefen von " | ||
| + | < | ||
| (ryu)Macbook: | (ryu)Macbook: | ||
| Downloading/ | Downloading/ | ||
| Zeile 30: | Zeile 135: | ||
| #include " | #include " | ||
| + | </ | ||
| - | Lösung | + | **Lösung:** |
| + | < | ||
| (ryu)Macbook: | (ryu)Macbook: | ||
| - | Downloading/unpacking lxml | + | </code> |
| - | | + | |
| - | | + | |
| - | checking for a BSD-compatible install... / | + | * Zumindest bei mir schlug der erste Start aber dann wiederum auch fehl: '' |
| - | checking whether build environment is sane... yes | + | |
| - | checking for a thread-safe mkdir -p... build-aux/ | + | |
| - | .... | + | |
| - | + | ||
| - | pip install ryu <- funktioniert | + | |
| + | ==== pkg_resources.DistributionNotFound: | ||
| + | Nach der manuellen Korrektur mit '' | ||
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | Traceback (most recent call last): | ||
| + | File " | ||
| + | from pkg_resources import load_entry_point | ||
| + | File "/ | ||
| + | working_set.require(__requires__) | ||
| + | File "/ | ||
| + | needed = self.resolve(parse_requirements(requirements)) | ||
| + | File "/ | ||
| + | raise DistributionNotFound(req) | ||
| + | pkg_resources.DistributionNotFound: | ||
| + | </ | ||
| + | **Lösung: | ||
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | </ | ||
| + | ==== Bei mir fehlen alle Beispiele bzw. das /app Verzeichnis fehlt! ==== | ||
| + | Die Beispiele werden von '' | ||
| + | **Lösung: | ||
| + | < | ||
| + | Macbook: | ||
| + | Cloning into ' | ||
| + | remote: Counting objects: 14808, done. | ||
| + | remote: Compressing objects: 100% (134/134), done. | ||
| + | remote: Total 14808 (delta 80), reused 0 (delta 0) | ||
| + | Receiving objects: 100% (14808/ | ||
| + | Resolving deltas: 100% (10855/ | ||
| + | Checking connectivity... done. | ||
| + | </ | ||
ryu-sdn-controller-mac-os-x-omniswitch.1406738875.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
