NAME
fcoemon - The Fibre Channel over Ethernet (FCoE) administration tool
for monitoring and processing events from the DCB daemon
(dcbd).
SYNOPSIS
fcoemon [-h | --help]
fcoemon [-v | --version]
fcoemon [-f | --foreground]
fcoemon [-d | --debug]
fcoemon [-s | --syslog]
fcoemon [-e | --exec <path-to-fcoeplumb-script>]
DESCRIPTION
The fcoemon command is a FCoE management tool provided by the fcoe-
utils package. fcoemon is the daemon of the fcoe system service. When
fcoemon starts, it establishes a socket connection with the DCB daemon
(dcbd). It then sends commands to, and receives responses and events
from dcbd. fcoemon will process the responses and events and will
invoke the fcoeplumb script to create and destroy the FCoE interfaces
as needed. Since fcoemon can depend on dcbd, there may be settings
required for dcbd before fcoemon can be started. See the DCB Settings
section below.
The fcoe system may or may not depend on the DCB service. fcoemon will
be started by the fcoe service only if one of the Ethernet ports
requires DCB, as specified by the fcoe per-interface configuration
files. If no Ethernet ports require DCB then fcoemon will not be
started and the fcoe service will not depend on dcbd.
OPTIONS
-h | -v | --version
Show the version of the fcoemon command.
-f | --foreground
Run fcoemon in the foreground.
-d | --debug
Enable debugging messages.
-s | --syslog
Use syslogd for logging. The default behavior is to log to
stdout and stderr.
-e | --exec <path-of-fcoeplumb-script>
Specify the location of the fcoeplumb script.
TERMINOLOGY
PFC - The DCB Priority Flow Control feature.
App:FCoE - The DCB Fibre Channel over Ethernet feature.
LLINK - The DCB Logical Link TLV (or Logical Link) feature.
multiq - See Documentation/networking/multiqueue.txt of linux kernel
source, v2.6.28 or higher.
skbedit - See Documentation/networking/multiqueue.txt of linux kernel
source v2.6.28 or higher.
INSTALLATION REQUIREMENTS
The DCB and FCoE kernel configuration options must be enabled, these
were introduced in the kernel version v2.6.29. Both the linux kernel
and iproute2 must support multiq and skbedit. The DCB package must be
installed with version 0.9.4 and higher.
SUPPORTED DCB EVENTS
In response to each supported event from dcbd, fcoemon collects the
current settings from dcbd to decide whether to delete and/or re-add
the multiq queue discipline and skbedit filter.
FEATURE_APP
If an event message is received from dcbd and if the feature
code in the event message is FEATURE_APP (5), and if the subtype
field is APP_FCOE_STYPE (0), we got a mode or configuration
change event of the FCoE application. fcoemon will then issue
queries to the DCB daemon to collect the current mode and
configuration information.
FEATURE_PFC
If an event message is received from dcbd and if the feature
code in the event message is FEATURE_PFC (3), we got a mode or
configuration change event of the Priority Flow Control (PFC)
feature. The fcoemon will then issue queries to the DCB daemon
to collect the current mode and configuration information.
FEATURE_LLINK
If an event message is received from dcbd and if the feature
code in the event message is FEATURE_LLINK (6), and if the
subtype field is LLINK_FCOE_STYPE (0), we got a mode or
configuration change event of the Logical Link TLV feature. The
fcoemon will then issue queries to the DCB daemon to collect the
current mode and configuration information.
CRITERIA OF CREATING, RESETTING AND DESTROYING FCOE INTERFACE
In this section the dcbtool is used to describe the conditions of the
DCB feture status beccause the meaning is more understandable and
precise. Although you may also issue the commands at run-time, the
commands are intended only to be used for description purpose.
PFC and App:FCoE
DCB is configured correctly if
1) The command dcbtool gc ethX dcb shows DCB State: on
2) The command dcbtool gc ethX app:0 shows Enable:true,
Advertise:true, Willing:true.
3) The command dcbtool go ethX app:0 shows OperMode:true.
4) The command dcbtool go ethX pfc shows OperMode:true and
the values of pfcup.
5) The command dcbtool go ethX app:0 shows appcfg. The bits
set to 1 are also set to 1 in pfcup found in (4).
Logical Link TLV
The Logical Link TLV feature is configured correctly if
1) The command dcbtool gc ethX ll:0 shows
Enable:true, Advertise:true, Willing:true.
2) The command dcbtool go ethX ll:0 shows OperMode:true.
3) The command dbtool gp ethX ll:0 shows Link Status:up.
Criteria to create FCoE interface
If DCB is required at the Ethernet port, an FCoE interface may
be created only if the DCB is configured correctly. If DCB is
not required at the Ethernet port, the FCoE interface may be
created.
Criteria to Destroy FCoE Interface
An FCoE interface will only be destroyed when the fcoe system
service is stopped.
Changing DCB Configuration, Qdisc and Filters
Changing the DCB configuration, qdisc, and filter are considered
to be administrative actions. When the fcoe system service
starts up, it sets up the default DCB configuration, qdisc, and
filter for reliable FCoE operations. Administrators may alter
the configuration while the service is running. Changing the
DCB parameters may cause the fcoemon daemon to delete the
existing multiq queue discipline, skbedit filter and re-add; but
the fcoe service will not touch (e.g. destroy or reset) the FCoE
interface. Changing the DCB configuration, qdisc, and filter
should be avoided while I/O traffic are in progress.
FILES
Installation of the fcoe-utils management tools include the following
files:
/etc/fcoe/config
This is the primary configuration file for the fcoe system
service. The default options in this file are: DEBUG="no" and
USE_SYSLOG="yes". The former is used to enable debugging
messages from the fcoe service script, fcoemon, and the
fcoeplumb script. The latter is to indicate if the log messages
are to be output to the system log. Any changes to this file
will require a restart of the fcoe service.
/etc/fcoe/cfg-<ifname>
This file will be read by the /etc/init.d/fcoe script and the
fcoemon daemon. The default options in this file are:
FCOE_ENABLE="no" and DCB_REQUIRED="yes". The former is used to
enable/disable the FCoE service at the ethX port. The latter is
to indicate if the DCB service is required (select yes) or not
required (select no) at the ethX port. If the former is set to
no, the latter is ignored. The selection of the settings should
match the settings of the FCoE switch port connected to the
local Ethernet ethX port. Use an editor to set the desired
yes/no values for the ethX interfaces.
/etc/init.d/fcoe
This is the fcoe system service shell script. This script is
invoked by the init process or by the service command.
/sbin/fcoemon
This is the fcoemon daemon only invoked by the fcoe system
service script.
/sbin/fcoeadm
This is the program used by the fcoe system service to create or
destroy FCoE interfaces.
/etc/fcoe/scripts/fcoeplumb
This is a script only used by the fcoemon daemon.
REPORTING BUGS
If you have identified a defect please file a bug with your
distribution or engage the development mailing list at
<http://www.Open-FCoE.org>.
SUPPORT
Open-FCoE is maintained at <http://www.Open-FCoE.org>. There are
resources available for both developers and users at that site.