diff --git a/.cvsignore b/.cvsignore index 333f6cd..a40dcf6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -fcoe-utils-1.0.12.tar.gz +fcoe-utils-1.0.13.tar.gz diff --git a/fcoe-utils-1.0.7-init.patch b/fcoe-utils-1.0.7-init.patch index 14cb39c..ac4199c 100644 --- a/fcoe-utils-1.0.7-init.patch +++ b/fcoe-utils-1.0.7-init.patch @@ -30,11 +30,11 @@ echo } -@@ -80,6 +86,7 @@ service_stop() +@@ -89,6 +95,7 @@ service_stop() rm -f /var/run/fcoemon.* rm -f /tmp/fcoemon.dcbd.* + rm -f /var/lock/subsys/fcoe - - echo } + + status() diff --git a/fcoe-utils.spec b/fcoe-utils.spec index 7079b63..9811ec7 100644 --- a/fcoe-utils.spec +++ b/fcoe-utils.spec @@ -1,6 +1,6 @@ Name: fcoe-utils -Version: 1.0.12 -Release: 2.20100323git%{?dist} +Version: 1.0.13 +Release: 1%{?dist} Summary: Fibre Channel over Ethernet utilities Group: Applications/System @@ -13,7 +13,6 @@ URL: http://www.open-fcoe.org # cd .. && gzip fcoe-utils-%{version} Source0: %{name}-%{version}.tar.gz Source1: quickstart.txt -Source2: fcoe_edd.sh Patch0: fcoe-utils-1.0.7-init.patch Patch1: fcoe-utils-1.0.7-init-condrestart.patch Patch2: fcoe-utils-1.0.8-includes.patch @@ -57,7 +56,12 @@ install -m 644 %SOURCE1 quickstart.txt mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/fcoe/ cp etc/config $RPM_BUILD_ROOT%{_sysconfdir}/fcoe/config mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/fcoe -install -m 755 %SOURCE2 $RPM_BUILD_ROOT%{_libexecdir}/fcoe/fcoe_edd.sh + +install -m 755 contrib/fcc.sh $RPM_BUILD_ROOT%{_libexecdir}/fcoe/fcc.sh +install -m 755 contrib/fcoe_edd.sh $RPM_BUILD_ROOT%{_libexecdir}/fcoe/fcoe_edd.sh +install -m 755 contrib/fcoe-setup.sh $RPM_BUILD_ROOT%{_libexecdir}/fcoe/fcoe-setup.sh +install -m 755 debug/fcoedump.sh $RPM_BUILD_ROOT%{_libexecdir}/fcoe/fcoedump.sh +install -m 755 debug/dcbcheck.sh $RPM_BUILD_ROOT%{_libexecdir}/fcoe/dcbcheck.sh %clean @@ -102,9 +106,16 @@ fi %config(noreplace) %{_sysconfdir}/fcoe/cfg-ethx %{_initrddir}/fcoe %attr(0755,root,root) %{_libexecdir}/fcoe/fcoe_edd.sh +%attr(0755,root,root) %{_libexecdir}/fcoe/fcoe-setup.sh +%attr(0755,root,root) %{_libexecdir}/fcoe/fcc.sh +%attr(0755,root,root) %{_libexecdir}/fcoe/fcoedump.sh +%attr(0755,root,root) %{_libexecdir}/fcoe/dcbcheck.sh %changelog +* Mon Apr 12 2010 Jan Zeleny - 1.0.13-1 +- rebased to v1.0.13, some bugfixes, new fcoe related scripts + * Tue Mar 30 2010 Jan Zeleny - 1.0.12-2.20100323git - some upstream updates - better fipvlan support diff --git a/fcoe_edd.sh b/fcoe_edd.sh deleted file mode 100644 index 31edc2a..0000000 --- a/fcoe_edd.sh +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/bash - -# Script to read EDD information from sysfs and -# echo the FCoE interface name and target info. -# This is a work in progress and will be enhanced -# with more options as we progress further. -# -# Author: Supreeth Venkataraman -# Yi Zou -# Intel Corporation -# -# Usage: sysfs_edd.sh -t for getting FCoE boot target information. -# sysfs_edd.sh -i for getting FCoE boot NIC name. -# sysfs_edd.sh -m for getting FCoE boot NIC MAC. -# sysfs_edd.sh -e for getting FCoE boot EDD information. -# sysfs_edd.sh -r for getting FCoE boot EDD interface type and path. -# sysfs_edd.sh -a for getting all FCoE boot information. -# sysfs_edd.sh -h for usage information. -# Optional: use -v to turn on verbose mode. -# -# Notes: -# FCoE Boot Disk is identified by the following format of boot information -# in its corresponding sysfs firmware edd entry, i.e., -# /sys/firmware/edd/int13_dev??/interface -# which is formatted as (for FCoE): -# string format: FIBRE wwid: 8c1342b8a0001620 lun: 7f00 -# Please ref. to T13 BIOS Enhanced Disk Drive Specification v3.0 for more -# defails on EDD. -# - -SYSEDD=/sys/firmware/edd -PREFIX="FIBRE" -VERBOSE= -FCOE_INF= -FCOE_WWN= -FCOE_LUN= -FCOE_EDD= -FCOE_NIC= -FCOE_MAC= - - -# -# -# -LOG() { - if [ -n "$1" ] && [ -n "${VERBOSE}" ]; then - echo "LOG:$1" - fi -} - - -find_fcoe_boot_disk() { - local prefix= - - if [ ! -e $SYSEDD ]; then - LOG "Need kernel EDD support!" - return 1 - fi -# for disk in `find ${SYSEDD} -maxdepth 1 -name 'int13*'` - for disk in ${SYSEDD}/int13_* - do - LOG " checking $disk..." - if [ ! -e ${disk}/interface ]; then - continue; - fi - LOG " checking ${disk}/interface..." - prefix=`awk '{printf $1}' < ${disk}/interface` - if [ "${PREFIX}" != "${prefix}" ]; then - LOG " The FCoE Boot prefix ${FCOE_PRE} is invalid!" - continue; - fi - FCOE_INF=`cat ${disk}/interface` - LOG " found FCoE boot info. from boot rom:${FCOE_INF}..." - - FCOE_WWN=`awk '{printf $3}' < ${disk}/interface` - if [ ${#FCOE_WWN} -ne 16 ]; then - LOG " The FCoE Boot WWID ${FCOE_WWN} is invalid!" - continue; - fi - FCOE_LUN=`awk '{printf $5}' < ${disk}/interface` - if [ -z "${#FCOE_LUN}" ]; then - LOG " The FCoE Boot LUN ${FCOE_WWN} is invalid!" - continue; - fi - # look for the correponding nic - # FIXME: - # 1) only supporst PCI device? - # 2) at initrd time, the nic name is always eth*? - if [ ! -e ${disk}/pci_dev ]; then - LOG "Failed to locate the corresponing PCI device!" - continue; - fi - if [ ! -e ${disk}/pci_dev/net ]; then - LOG "Failed to detect any NIC device!" - continue; - fi - - for nic in ${disk}/pci_dev/net/* - do - if [ -e ${nic}/address ]; then - FCOE_MAC=`cat ${nic}/address` - FCOE_NIC=$(basename ${nic}) - break; - fi - done - if [ -z "${FCOE_MAC}" ] || [ -z "${FCOE_NIC}" ]; then - LOG "Failed to locate the corresponing NIC device!" - continue; - fi - # Found the FCoE Boot Device - FCOE_EDD=$(basename ${disk}) - return 0; - done - return 1 -} - -get_fcoe_boot_all(){ - echo "### FCoE Boot Information ###" - echo "EDD=${FCOE_EDD}" - echo "INF=${FCOE_INF}" - echo "WWN=${FCOE_WWN}" - echo "LUN=${FCOE_LUN}" - echo "NIC=${FCOE_NIC}" - echo "MAC=${FCOE_MAC}" - return 0 -} - -get_fcoe_boot_target() { - if [ -z "${FCOE_WWN}" ] || [ -z "${FCOE_LUN}" ]; then - LOG "No FCoE Boot Target information is found!" - return 1 - fi - echo "WWN=${FCOE_WWN}" - echo "LUN=${FCOE_LUN}" -} - -get_fcoe_boot_inf(){ - if [ -z "${FCOE_INF}" ]; then - LOG "No FCoE Boot INF information is found!" - return 1 - fi - echo "INF=${FCOE_INF}" - return 0 -} - -get_fcoe_boot_mac(){ - if [ -z "${FCOE_MAC}" ]; then - LOG "No FCoE Boot NIC MAC information is found!" - return 1 - fi - echo "MAC=${FCOE_MAC}" - return 0 -} - -get_fcoe_boot_ifname(){ - if [ -z "${FCOE_NIC}" ]; then - LOG "No FCoE Boot NIC information is found!" - return 1 - fi - echo "NIC=${FCOE_NIC}" - return 0 -} - -get_fcoe_boot_edd(){ - if [ -z "${FCOE_EDD}" ]; then - LOG "No FCoE Boot Disk EDD information is found!" - return 1 - fi - echo "EDD=${FCOE_EDD}" - return 0 -} - - -# parse options -prog=$(basename $0) -while getopts "timeravh" OptionName; do - case "$OptionName" in - t) - action=get_fcoe_boot_target - ;; - i) - action=get_fcoe_boot_ifname - ;; - m) - action=get_fcoe_boot_mac - ;; - e) - action=get_fcoe_boot_edd - ;; - r) - action=get_fcoe_boot_inf - ;; - a) - action=get_fcoe_boot_all - ;; - v) - VERBOSE="yes" - ;; - h) - echo "Usage: ${prog} -t for getting FCoE boot target information." - echo " ${prog} -i for getting FCoE boot NIC name." - echo " ${prog} -m for getting FCoE boot NIC MAC." - echo " ${prog} -e for getting FCoE boot EDD information." - echo " ${prog} -r for getting FCoE boot EDD interface type and path." - echo " ${prog} -a for getting all FCoE boot information." - echo " ${prog} -h for usage information." - echo " Optional: use -v to turn on verbose mode." - exit 0 - ;; - *) - echo "Invalid Option. Use -h option for help." - exit 1 - ;; - esac -done -if [ -z "${action}" ]; then - echo "Must specify at least -t, -i, -m, -e, -r, -a, or -h." - echo "Use -h option for help." - exit 1 -fi -# Locate FCoE boot disk and nic information -find_fcoe_boot_disk -if [ $? -ne 0 ]; then - echo "No FCoE boot disk information is found in EDD!" - exit 1 -fi -if [ -z "${FCOE_EDD}" ]; then - echo "No FCoE boot disk is found in EDD!" - exit 1; -fi - -${action} - -exit $? diff --git a/sources b/sources index c1689a3..3093703 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a1a195ff5178175c84ebe6e3a9e97e7b fcoe-utils-1.0.12.tar.gz +ccb0dc1d3f7cc612cae5eb2ed4fbd941 fcoe-utils-1.0.13.tar.gz