Fault Diagnosis on SDN Networks
Launch mininet:
sudo mn --mac --custom sdn-monitor/mininet/topo.py --topo minivideostreaming --switch ovsk --controller remote
Lauch with monitor module enabled and grepping for interesting data only:
sudo ./pox.py forwarding.l2_pairs openflow.discovery openflow.spanning_tree --no-flood --hold-down monitor log.level --DEBUG 2>&1 | grep -i "Monitor\|connected\|ports"
Aditionally, another combination of pox modules:
./pox.py openflow.discovery proto.arp_responder l3_rules --rules_path=<rules-path> stats_monitor log.level --INFO 2>&1 | grep -i "Monitor\|connected\|ports\|rule\|discovery\|arp"
To launch a server to stream video via HTTP (this can depend on the video source):
vlc <video-source> :sout='#transcode{vcodec=h264,scale=Auto,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=:8080/test}' :sout-keep
To launch a client that listens to this streaming:
vlc http://<server-ip>:8080/test
To emulate an error on a link using tc:
<switch> tc qdisc change dev <switch>-<interface> parent 5:1 handle 10: netem <options>