diff options
author | Martin Schwenke <martin@meltin.net> | 2015-07-08 22:14:51 +1000 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2015-07-14 09:57:17 +0200 |
commit | 8e41cb1e4e7b4a7d92628771260649ded4432772 (patch) | |
tree | 0a24de794059de8b024c55c24c9c8149329270d6 /ctdb | |
parent | 4f84d42b511a4c9a79bd835eeca0a80082e76227 (diff) | |
download | samba-8e41cb1e4e7b4a7d92628771260649ded4432772.tar.gz |
ctdb-tests: Add VLAN support to the "ip link" stub
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb')
-rwxr-xr-x | ctdb/tests/eventscripts/stubs/ip | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ctdb/tests/eventscripts/stubs/ip b/ctdb/tests/eventscripts/stubs/ip index 34063d17197..59219d2c4f5 100755 --- a/ctdb/tests/eventscripts/stubs/ip +++ b/ctdb/tests/eventscripts/stubs/ip @@ -23,15 +23,58 @@ ip_link () esac ;; show) shift ; ip_link_show "$@" ;; + add*) shift ; ip_link_add "$@" ;; del*) shift ; ip_link_delete "$@" ;; *) not_implemented "$*" ;; esac } +ip_link_add () +{ + _link="" + _name="" + _type="" + + while [ -n "$1" ] ; do + case "$1" in + link) + _link="$2" + shift 2 + ;; + name) + _name="$2" + shift 2 + ;; + type) + if [ "$2" != "vlan" ] ; then + not_implemented "link type $1" + fi + _type="$2" + shift 2 + ;; + id) shift 2 ;; + *) not_implemented "$1" ;; + esac + done + + case "$_type" in + vlan) + if [ -z "$_name" -o -z "$_link" ] ; then + not_implemented "ip link add with null name or link" + fi + + mkdir -p "${FAKE_IP_STATE}/interfaces-vlan" + echo "$_link" >"${FAKE_IP_STATE}/interfaces-vlan/${_name}" + ip_link_set_down "$_name" + ;; + esac +} + ip_link_delete () { mkdir -p "${FAKE_IP_STATE}/interfaces-deleted" touch "${FAKE_IP_STATE}/interfaces-deleted/$1" + rm -f "${FAKE_IP_STATE}/interfaces-vlan/$1" } ip_link_set_up () @@ -59,6 +102,11 @@ ip_link_show () exit 255 fi + if [ -r "${FAKE_IP_STATE}/interfaces-vlan/${dev}" ] ; then + read _link <"${FAKE_IP_STATE}/interfaces-vlan/${dev}" + dev="${dev}@${_link}" + fi + mac=$(echo $dev | md5sum | sed -r -e 's@(..)(..)(..)(..)(..)(..).*@\1:\2:\3:\4:\5:\6@') _state="UP" _flags=",UP,LOWER_UP" |