ryu-sdn-controller-mac-os-x-omniswitch
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
ryu-sdn-controller-mac-os-x-omniswitch [2014/07/30 19:06] – 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 ==== |
- | + | < | |
- | 1. Versuch der Installation | + | Macbook: |
- | (ryu)Macbook:ryu Benny$ | + | New python executable in ryu-3.11/bin/python |
- | Downloading/unpacking ryu | + | Installing setuptools, pip...done. |
- | | + | Macbook:Python |
- | Running setup.py (path:/ | + | (ryu-3.11)Macbook:Python |
- | + | </code> | |
- | Installed | + | |
- | [pbr] Processing SOURCES.txt | + | |
- | warning: LocalManifestMaker: | + | |
- | In file included from src/lxml/ | + | ==== lxml zuerst installieren ==== |
- | + | <WRAP center round important 60%> | |
- | / | + | Es ist wichtig das Kommando wie unten beschrieben einzugeben! '' |
- | + | </ | |
- | #include " | + | < |
- | + | (ryu-3.11)Macbook:Python | |
- | Lösung | + | |
- | (ryu)Macbook: | + | |
Downloading/ | Downloading/ | ||
Downloading lxml-3.3.5.tar.gz (3.5MB): 3.5MB downloaded | Downloading lxml-3.3.5.tar.gz (3.5MB): 3.5MB downloaded | ||
- | Running setup.py (path:/ | + | Running setup.py (path:/ |
- | | + | (... Jede Menge CLI-Kilometer ausgelassen |
- | checking whether build environment is sane... yes | + | Successfully installed lxml |
- | | + | Cleaning up... |
- | .... | + | </code> |
- | pip install ryu <- funktioniert | + | ==== 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 | ||
+ | </ | ||
- | Um an die Beispiele zu kommen: | + | ===== OmniSwitch in Ryu registrieren ===== |
+ | <WRAP center round info 60%> | ||
+ | Ich hab Urlaub! Danach werde ich diese Anleitung sicherlich noch erweitern .. :) | ||
+ | </ | ||
- | Macbook:Python Benny$ git clone https:// | + | ==== OmniSwitch 6900 Konfiguration ==== |
- | Cloning into 'ryu-git'... | + | < |
- | remote: Counting objects: 14808, done. | + | -> show configuration snapshot openflow |
- | remote: Compressing objects: | + | ! OPENFLOW: |
- | remote: Total 14808 (delta 80), reused 0 (delta 0) | + | openflow logical-switch OFSwitch vlan 2 |
- | Receiving objects: 100% (14808/14808), 18.27 MiB | 676.00 KiB/s, done. | + | openflow logical-switch OFSwitch controller 192.168.10.100:6633 |
- | Resolving deltas: 100% (10855/10855), done. | + | openflow logical-switch OFSwitch interfaces port 1/1-20 |
- | Checking connectivity... done. | + | </code> |
- | #### | + | ==== Ausgaben von Ryu ==== |
- | + | ||
- | Problem beim Start: | + | |
- | (ryu)DEBERN0L004402: | + | |
- | Traceback (most recent call last): | + | |
- | File "/ | + | |
- | from pkg_resources import load_entry_point | + | |
- | File "/ | + | |
- | working_set.require(__requires__) | + | |
- | File "/ | + | |
- | needed | + | |
- | File "/ | + | |
- | raise DistributionNotFound(req) | + | |
- | pkg_resources.DistributionNotFound: | + | |
- | + | ||
- | pip install greenlet | + | |
- | + | ||
- | ryu Bug! | + | |
- | + | ||
- | + | ||
- | ### | + | |
- | + | ||
- | Ryu Ausgabe: | + | |
< | < | ||
- | (ryu)DEBERN0L004402:ryu Benny$ ryu-manager --verbose ../ | + | (ryu)Macbook:ryu Benny$ ryu-manager --verbose ../ |
loading app ../ | loading app ../ | ||
loading app ryu.controller.ofp_handler | loading app ryu.controller.ofp_handler | ||
Zeile 104: | Zeile 116: | ||
</ | </ | ||
- | OmniSwitch Konfiguration: | + | ===== 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 " | ||
< | < | ||
- | -> show configuration snapshot openflow | + | (ryu)Macbook: |
- | ! OPENFLOW: | + | Downloading/ |
- | openflow logical-switch vswitch vlan 2 | + | Downloading ryu-3.11.tar.gz (1.3MB): 1.3MB downloaded |
- | openflow logical-switch vswitch controller 192.168.10.100:6633 | + | |
- | openflow logical-switch vswitch interfaces port 1/1-20 | + | |
+ | Installed / | ||
+ | [pbr] Processing SOURCES.txt | ||
+ | warning: LocalManifestMaker: | ||
+ | |||
+ | In file included from src/ | ||
+ | |||
+ | / | ||
+ | |||
+ | #include " | ||
</ | </ | ||
+ | **Lösung: | ||
+ | < | ||
+ | (ryu)Macbook: | ||
+ | </ | ||
+ | * Der Mac ist nun ein paar Sekunden mit kompilieren beschäftigt | ||
+ | * Danach sollte '' | ||
+ | * Zumindest bei mir schlug der erste Start aber dann wiederum auch fehl: '' | ||
+ | |||
+ | ==== 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.1406747215.txt.gz · Zuletzt geändert: 2024/06/09 10:29 (Externe Bearbeitung)