FCOEMON(8)

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.