Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
open-fcoe
fcoe-utils-add-fcoe-setup
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fcoe-utils-add-fcoe-setup of Package open-fcoe
commit 3364c49be216e4dcc309c935d03deaf710d82513 Author: Hannes Reinecke <hare@suse.de> Date: Wed Mar 17 14:01:13 2010 +0100 Add 'fcoe-setup.sh' script in contrib Add an fcoe-setup.sh script which creates and configures a VLAN for FCoE. It also creates the required config file for SUSE so that the interface will be started automatically on next reboot. References: bnc#585045 Signed-off-by: Hannes Reinecke <hare@suse.de> diff --git a/contrib/fcoe-setup.sh b/contrib/fcoe-setup.sh new file mode 100755 index 0000000..ab23400 --- /dev/null +++ b/contrib/fcoe-setup.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# +# fcoe-setup.sh +# +# Create VLAN interface for FCoE +# + +scan_vlan() { + local ifname=$1 + local vlan=$2 + + cat /proc/net/vlan/config | tail +3 | while read vif s1 vid s2 if ; do + if [ "$if" = "$ifname" ] && [ "$vid" == "$vlan" ] ; then + echo "$vif" + fi + done +} + +create_vlan () { + local ifname=$1 + local vlan=$2 + local vif + + vif=$(scan_vlan $ifname $vlan) + + if [ -z "$vif" ] ; then + vconfig set_name_type DEV_PLUS_VID_NO_PAD + vconfig add $ifname $vlan > /dev/null + vif="$ifname.$vlan" + fi + ip link set $vif up + echo "$vif" +} + +check_ifcfg () { + local vif=$1 + local ifname=$2 + local vid=$3 + local ifcfg=/etc/sysconfig/network/ifcfg-$vif + + if [ -f "$ifcfg" ] ; then + echo "Interface is configured properly" + else + echo "Creating ifcfg configuration ifcfg-$vif" + cat > $ifcfg <<EOF +BOOTPROTO="static" +STARTMODE="onboot" +ETHERDEVICE="$ifname" +USERCONTROL="no" +INTERFACETYPE="vlan" +EOF + fi +} + +check_fcoe () { + local vif=$1 + local fcoecfg=/etc/fcoe/cfg-$vif + + if [ -f "$fcoecfg" ] ; then + echo "FCoE is configured properly" + else + echo "Creating FCoE configuration cfg-$vif" + cat > $fcoecfg <<EOF +FCOE_ENABLE="yes" +DCB_REQUIRED="yes" +EOF + fi +} + +ifname=$1 +if [ -z "$ifname" ] ; then + echo "No Interface given!" + exit 1 +fi +if [ ! -d /sys/class/net/$ifname ] ; then + echo "Interface $ifname does not exist!" + exit 2 +fi + +fipvlan -i $ifname | while read ifname vlan; do + echo "Found FCF forwarder on VLAN $vlan" + vif=$(create_vlan $ifname $vlan) + echo "Using VLAN interface $vif" + check_ifcfg $vif $ifname $vlan + check_fcoe $vif +done + +exit 0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor