diff --git a/util/install.sh b/util/install.sh index 33e5d892aad88d772946d4db6d8cb59dcb26d03b..92a7d6b81625dab558ef9fefd24d12cbd4af4d96 100755 --- a/util/install.sh +++ b/util/install.sh @@ -146,16 +146,6 @@ function of { make sudo make install - # Install dissector: - sudo apt-get install -y wireshark libgtk2.0-dev - cd ~/openflow/utilities/wireshark_dissectors/openflow - make - sudo make install - - # Copy coloring rules: OF is white-on-blue: - mkdir -p ~/.wireshark - cp ~/mininet/util/colorfilters ~/.wireshark - # Remove avahi-daemon, which may cause unwanted discovery packets to be # sent during tests, near link status changes: sudo apt-get remove -y avahi-daemon @@ -169,6 +159,39 @@ function of { sudo sh -c "echo 'blacklist net-pf-10\nblacklist ipv6' >> $BLACKLIST" } + +function wireshark { + echo "Installing Wireshark dissector..." + + sudo apt-get install -y wireshark libgtk2.0-dev + + if [ "$DIST" = "Ubuntu" ] && [ "$RELEASE" != "10.04" ]; then + # Install newer version + sudo apt-get install -y scons mercurial libglib2.0-dev + sudo apt-get install -y libwiretap-dev libwireshark-dev + cd ~ + hg clone https://bitbucket.org/onlab/of-dissector + cd of-dissector/src + export WIRESHARK=/usr/include/wireshark + scons + # libwireshark0/ on 11.04; libwireshark1/ on later + WSDIR=`ls -d /usr/lib/wireshark/libwireshark* | head -1` + WSPLUGDIR=$WSDIR/plugins/ + sudo cp openflow.so $WSPLUGDIR + echo "Copied openflow plugin to $WSPLUGDIR" + else + # Install older version from reference source + cd ~/openflow/utilities/wireshark_dissectors/openflow + make + sudo make install + fi + + # Copy coloring rules: OF is white-on-blue: + mkdir -p ~/.wireshark + cp ~/mininet/util/colorfilters ~/.wireshark +} + + # Install Open vSwitch # Instructions derived from OVS INSTALL, INSTALL.OpenFlow and README files. function ovs { @@ -331,6 +354,7 @@ function all { kernel mn_deps of + wireshark ovs modprobe nox @@ -390,6 +414,7 @@ function usage { printf -- ' -n: install mini(N)et dependencies + core files\n' >&2 printf -- ' -t: install o(T)her stuff\n' >&2 printf -- ' -v: install open (V)switch\n' >&2 + printf -- ' -w: install OpenFlow (w)ireshark dissector\n' >&2 printf -- ' -x: install NO(X) OpenFlow controller\n' >&2 printf -- ' -y: install (A)ll packages\n' >&2 @@ -400,7 +425,7 @@ if [ $# -eq 0 ] then all else - while getopts 'abcdfhkmntvx' OPTION + while getopts 'abcdfhkmntvwx' OPTION do case $OPTION in a) all;; @@ -414,6 +439,7 @@ else n) mn_deps;; t) other;; v) ovs;; + w) wireshark;; x) nox;; ?) usage;; esac