Permalink
Switch branches/tags
Nothing to show
Commits on May 2, 2016
  1. fcoemon.c: Add a check to verify if dcbd is to be initialized, else d…

    Milan P. Gandhi committed with Vasu Dev Mar 28, 2016
    …o not try to connect to dcbd/lldpad
    
    Some of the FCoE capable adapters e.g. BCM57810 network interfaces
    has DCBX/LLDP client on-chip, and kernel documentation recommends
    to keep software based DCBX/LLDP clients (e.g. lldpad) disabled.
    https://www.kernel.org/doc/Documentation/scsi/bnx2fc.txt
    
    It was found that, if lldpad is disabled while using above interfaces,
    then fcoemon shows following errors every 10 seconds:
    
    fcoemon: error 111 Connection refused
    fcoemon: Failed to connect to lldpad
    
    Below patch checks each interface configuration in /etc/fcoe/cfg-ethX
    file to verify if there is at least 1 interface with DCB_REQUIRED flag
    set to yes and will try to initialize dcbd only if there is at least 1
    interface with DCB_REQUIRED="yes", else fcoemon will not try to
    initialize dcbd or connect to lldpad, thus eliminating above errors:
    
    Signed-off-by: Milan P. Gandhi <mgandhi@redhat.com>
    Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
    Reviewed-by: Laurence Oberman <loberman@redhat.com>
    Tested-by: Laurence Oberman <loberman@redhat.com>
    Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Feb 5, 2016
  1. fcoe-utils: increment fcoe-utils version to 1.0.31

    Vasu Dev committed Feb 5, 2016
    Up to this version is tested against stable kernel 4.4 .
    
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Dec 8, 2015
  1. man: Fix the fcoemon man page documentation for the systemd-enabled s…

    Usha Ketineni committed with Vasu Dev Nov 17, 2015
    …ystems
    
    Document the primary configuration file used by the fcoe service on
    systemd-enabled systems and how to enable debug log messages on them.
    Also, fix the missing nroff formatted change from the earlier patch.
    
    Signed-off-by: Usha Ketineni <usha.k.ketineni at intel.com>
    Tested-by: Scott W Taylor <scott.w.taylor at intel.com>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  2. rtnetlink: Create rtnl socket without multicast grp for sanmac discovery

    anoobs committed with Vasu Dev Nov 30, 2015
    fcoemon tries to figure out sanmac, of an interface, before trying to start
    VLAN discovery. This is done using a rtnl socket (with nl_groups set to
    RTNLGRP_LINK) and RTM_GETDCB query to the kernel. Since nl_group is set to
    RTNLGRP_LINK the receive handler also receives RTN_NEW_LINK multicast
    notifcations and RTN_NEW_LINK notifications are wrongly considered as valid
    repose to query. Since no valid sanmac is discovered, fcoemon fails to start
    VLAN discovery on this interface.
    
    This is evident when running fcoemon on XenServer, as the interfaces resets
    when they are added to the bridge.
    
    Ideally sanmac discovery doesn't require rtnl socket to be opened with
    RTNLGRP_LINK and this would avoid receiving multicast notifications.
    
    Signed-off-by: Anoob Soman <anoob.soman@citrix.com>
    Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Nov 11, 2015
  1. fcoeadm_display: Fix display of NPIV ports

    morbidrsa committed with Vasu Dev Nov 2, 2015
    With the current libHBAAPI less implementation it was not possible to display
    interface infotmation for NPIV ports, as the sysfs hba implementation assumed a
    1:1 mapping of netdevices to FC hosts.
    
    This is the output of fcoeadm -i fcoe0 before reading the host's vport
    attributes from sysfs.
    
       Description:      BCM57840 NetXtreme II 10/20-Gigabit Ethernet
       Revision:         11
       Manufacturer:     Broadcom Corporation
       Serial Number:    6CC2173EA1D0
    
       Driver:           bnx2x 1.710.51-0
       Number of Ports:  1
    
           Symbolic Name:     bnx2fc (QLogic BCM57840) v2.4.2 over fcoe0
           OS Device Name:    host1
           Node Name:         0x20006cc2173ea1d1
           Port Name:         0x10006cc2173ea1d1
           FabricName:        0x100000c0dd0ce717
           Speed:             unknown
           Supported Speed:   1 Gbit, 10 Gbit
           MaxFrameSize:      2048 bytes
           FC-ID (Port ID):   0x660710
           State:             Online
    
    This is the same output including the read from sysfs
    
       Description:      BCM57840 NetXtreme II 10/20-Gigabit Ethernet
       Revision:         11
       Manufacturer:     Broadcom Corporation
       Serial Number:    6CC2173EA1D0
       Driver:           bnx2x 1.710.51-0
       Number of Ports:  1
    
           Symbolic Name:     bnx2fc (QLogic BCM57840) v2.4.2 over fcoe0
           OS Device Name:    host1
           Node Name:         0x20006cc2173ea1d1
           Port Name:         0x10006cc2173ea1d1
           FabricName:        0x100000c0dd0ce717
           Speed:             unknown
           Supported Speed:   1 Gbit, 10 Gbit
           MaxFrameSize:      2048 bytes
           FC-ID (Port ID):   0x660710
           State:             Online
    
           Symbolic Name:     bnx2fc (QLogic BCM57840) v2.4.2 over fcoe0
           OS Device Name:    host2
           Node Name:         0x5555666677778888
           Port Name:         0x1111222233334444
           FabricName:        0x100000c0dd0ce717
           Speed:             unknown
           Supported Speed:   1 Gbit, 10 Gbit
           MaxFrameSize:      2048 bytes
           FC-ID (Port ID):   0x660717
           State:             Online
    
           Symbolic Name:     bnx2fc (QLogic BCM57840) v2.4.2 over fcoe0
           OS Device Name:    host3
           Node Name:         0x1111222233334444
           Port Name:         0x5555666677778888
           FabricName:        0x100000c0dd0ce717
           Speed:             unknown
           Supported Speed:   1 Gbit, 10 Gbit
           MaxFrameSize:      2048 bytes
           FC-ID (Port ID):   0x660718
           State:             Online
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Oct 15, 2015
  1. fcping: fix erroneous memory free corruption

    Vasu Dev committed Oct 15, 2015
    Erroneous struct port_attrs memory free is causing following error dump:-
    
     *** Error in `fcping': double free or corruption (out): 0x0000000001e6a0d0
     ======= Backtrace: =========
     /lib64/libc.so.6(+0x75acf)[0x7f8d446dcacf]
     /lib64/libc.so.6(+0x7cdf8)[0x7f8d446e3df8]
     fcping[0x401e98]
     /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f8d44688d65]
     fcping[0x402961]
     ======= Memory map: ========
     00400000-00407000 r-xp 00000000 fc:01 757066     /usr/sbin/fcping
     00606000-00607000 r--p 00006000 fc:01 757066     /usr/sbin/fcping
     00607000-00608000 rw-p 00007000 fc:01 757066      /usr/sbin/fcping
     01e6a000-01e8b000 rw-p 00000000 00:00 0               [heap]
     7f8d44234000-7f8d44249000 r-xp 00000000 fc:01 754236  /usr/lib64/libgcc_s-4.8.3-20140911.so.1
     7f8d44249000-7f8d44448000 ---p 00015000 fc:01 754236  /usr/lib64/libgcc_s-4.8.3-20140911.so.1
     7f8d44448000-7f8d44449000 r--p 00014000 fc:01 754236  /usr/lib64/libgcc_s-4.8.3-20140911.so.1
     7f8d44449000-7f8d4444a000 rw-p 00015000 fc:01 754236  /usr/lib64/libgcc_s-4.8.3-20140911.so.1
     7f8d4444a000-7f8d44462000 r-xp 00000000 fc:01 754294  /usr/lib64/libpthread-2.18.so
     7f8d44462000-7f8d44661000 ---p 00018000 fc:01 754294  /usr/lib64/libpthread-2.18.so
     7f8d44661000-7f8d44662000 r--p 00017000 fc:01 754294  /usr/lib64/libpthread-2.18.so
     7f8d44662000-7f8d44663000 rw-p 00018000 fc:01 754294  /usr/lib64/libpthread-2.18.so
     7f8d44663000-7f8d44667000 rw-p 00000000 00:00 0
     7f8d44667000-7f8d4481b000 r-xp 00000000 fc:01 754268  /usr/lib64/libc-2.18.so
     7f8d4481b000-7f8d44a1a000 ---p 001b4000 fc:01 754268  /usr/lib64/libc-2.18.so
     7f8d44a1a000-7f8d44a1e000 r--p 001b3000 fc:01 754268  /usr/lib64/libc-2.18.so
     7f8d44a1e000-7f8d44a20000 rw-p 001b7000 fc:01 754268  /usr/lib64/libc-2.18.so
     7f8d44a20000-7f8d44a25000 rw-p 00000000 00:00 0
     7f8d44a25000-7f8d44a2c000 r-xp 00000000 fc:01 754298  /usr/lib64/librt-2.18.so
     7f8d44a2c000-7f8d44c2b000 ---p 00007000 fc:01 754298  /usr/lib64/librt-2.18.so
     7f8d44c2b000-7f8d44c2c000 r--p 00006000 fc:01 754298  /usr/lib64/librt-2.18.so
     7f8d44c2c000-7f8d44c2d000 rw-p 00007000 fc:01 754298  /usr/lib64/librt-2.18.so
     7f8d44c2d000-7f8d44c35000 r-xp 00000000 fc:01 755191  /usr/lib64/libpciaccess.so.0.11.1
     7f8d44c35000-7f8d44e35000 ---p 00008000 fc:01 755191  /usr/lib64/libpciaccess.so.0.11.1
     7f8d44e35000-7f8d44e36000 r--p 00008000 fc:01 755191  /usr/lib64/libpciaccess.so.0.11.1
     7f8d44e36000-7f8d44e37000 rw-p 00009000 fc:01 755191  /usr/lib64/libpciaccess.so.0.11.1
     7f8d44e37000-7f8d44e57000 r-xp 00000000 fc:01 754260  /usr/lib64/ld-2.18.so
     7f8d4503d000-7f8d45041000 rw-p 00000000 00:00 0
     7f8d45053000-7f8d45056000 rw-p 00000000 00:00 0
     7f8d45056000-7f8d45057000 r--p 0001f000 fc:01 754260  /usr/lib64/ld-2.18.so
     7f8d45057000-7f8d45058000 rw-p 00020000 fc:01 754260  /usr/lib64/ld-2.18.so
     7f8d45058000-7f8d45059000 rw-p 00000000 00:00 0
     7ffd50c1e000-7ffd50c3f000 rw-p 00000000 00:00 0       [stack]
     7ffd50d93000-7ffd50d95000 r--p 00000000 00:00 0       [vvar]
     7ffd50d95000-7ffd50d97000 r-xp 00000000 00:00 0       [vdso]
     ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0   [vsyscall]
     Aborted (core dumped)
    
    It is due to struct port_attrs memory is freed in func fp_check_data_len()
    but then same is freed again on return from this function, so to fix this
    remove free from fp_check_data_len() while keep the free along its
    allocation in fp_check_data_len() caller.
    
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  2. configure.ac/Makefile.am: Remove libHBAAPIv2 and libhbalinux2

    morbidrsa committed with Vasu Dev Oct 15, 2015
    Now that all clients are gone, remove libHBAAPIv2 and libhbalinux2 from
    configure.ac, dropping the dependencies.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  3. fcping: Convert fcping to internal sysfs based implementation

    morbidrsa committed with Vasu Dev Oct 15, 2015
    Convert fcping to internal sysfs based implementation as well, so all of
    libHBAAPI is gone now.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  4. libutil: remove definition of sa_hex_format()

    morbidrsa committed with Vasu Dev Oct 15, 2015
    sa_hex_format() is not defined in libutil, so get rid of it
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  5. fcoemon: Use internal sysfs_hba library

    morbidrsa committed with Vasu Dev Oct 15, 2015
    Use internal sysfs_hba library for fcoemon as well.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Oct 9, 2015
  1. fcoeadm: Get rid of some includes

    morbidrsa committed with Vasu Dev Oct 9, 2015
    Now that all consumers of libHBAAPI2 are gone in fcoeadm_display.c, get rid of
    unsused #includes, #defines and types.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  2. fcoeadm: Use internal sysfs lib to display port statistics

    morbidrsa committed with Vasu Dev Oct 9, 2015
    Use internal sysfs lib to display port statistics via fcoeadm -s <ethX>
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  3. fcoeadm: Use internal sysfs lib to display target and LUN info

    morbidrsa committed with Vasu Dev Oct 9, 2015
    Use internal sysfs lib to display target and LUN info using fcoeadm -t
    or fcoeadm -l.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  4. fcoeadm: Use internal sysfs based hba lib for information

    morbidrsa committed with Vasu Dev Oct 9, 2015
    Use internal sysfs based hba lib for gathering information with fcoeadm -i.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  5. fcoe-utils: Add sysfs_hba to fcoemon_utils

    morbidrsa committed with Vasu Dev Oct 9, 2015
    Add sysfs_hba to to fcoemon_utils. This is the 1st part of obsoleting
    libHBAAPI2 and libhbalinux2 for fcoe-utils.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Jun 5, 2015
  1. fcoemon: fix IEEE state machine

    Vasu Dev committed Jun 5, 2015
    Fix IEEE state machine for these issues:-
    
     - fcoeadm scan not working
     - fcoeadm reset not working
     - periodic fipvlan issuance even after fcoe instance created
    
    These issues are due to current IEEE states are not correctly
    handled. The validate_ieee_info() return either activate or
    wait actions and out of that only activate is really used to
    enable fcoe instance and none other action are applicable in
    IEEE state machine, so reduced to only activate and then
    advance the state machine to new IEEE_ACTIVE state to allow
    processing of scan & reset command once interface activated.
    
    This also fixes fipvlan issuance issue beside fixing scan and
    reset fcoeadm commands.
    
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
    Tested-By: Jack Morgan<jack.morgan@intel.com>
  2. fcoemon: Rework daemonizing and error handling

    morbidrsa committed with Vasu Dev May 18, 2015
    Rework error handling, which leads to daemonizing later in order to get the
    error handling into effect.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Apr 15, 2015
  1. fcoe-utils: Increment fcoe-utils version from 1.0.29 to 1.0.30

    Vasu Dev committed Apr 16, 2015
    Up to this version is tested against stable kernel 3.19 and lldp
    1.0.1.
    
    However also functional with lldp v0.9.46, so forcing required lldp
    version only up to v0.9.46 because interfacing with llpd has not
    changed since 0.9.46 and 1.0.1 is too recent.
    
    Also fix package dependency for libhbalinux from 1.0.13 to 1.0.17.
    
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Feb 2, 2015
  1. fipvlan: do fipvlan only on specified interface

    Vasu Dev committed Feb 2, 2015
    Skip interface not specified on the command line to block inadvertent
    fcoe start on them.
    
    This means now fipvlan will do VLAN discovery only on the specified
    interfaces in non-auto mode and therefore in turn will start fcoe
    only on them with -s option.
    
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Jan 30, 2015
  1. fipvlan: fix broken fcoe start using fipvlan

    Vasu Dev committed Jan 30, 2015
    FCoE start is broken due to the link being never selected and that
    is in turn due to bad vlan interface name compare against real
    interface name passed for fip vlan discovery.
    
    This name compare is unnecessary and breaks fipvlan start option,
    so this patch removes it to have fcoe start working again.
    
    I considered reducing compare to just the base real interface name
    but that won't work in the case of existing vlan interface name is
    already customized, so instead just don't check for the name.
    
    I verified this fixes the start using newly created vlan as well
    as existing vlan, which could be down or already running.
    
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  2. fcoe-utils: automake fixes for dist/distcheck

    cleech committed with Vasu Dev Jan 30, 2015
    I thought I'd give make distcheck a try on fcoe-utils and see if it
    produced a working release.  It didn't, so here are some fixes for that.
    
    Missing header files added to git are included in the release archive.
    
    The systemd unit files are marked dist_DATA so they get included,
    otherwise data files are assumed to be generated at build time and left
    out of the release.
    
    A few other missing doc files are added to dist_noinst_DATA.
    
    The manual rules for handling bash completion files are replaced with
    dist_DATA definitions letting automake handle generating rules.
    
    Any change of applying build system fixes, and getting a new tag and
    release tarball anytime in the near future?
    
    Signed-off-by: Chris Leech <cleech@redhat.com>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Jan 29, 2015
  1. fipvlan: Start FCoE on existing VLAN

    hreinecke committed with Vasu Dev Jan 28, 2015
    If a VLAN already exists fipvlan wouldn't try to start FCoE here.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  2. fipvlan: segfault, return after vlan create in create_and_start_vlan

    cleech committed with Vasu Dev Jan 29, 2015
    Signed-off-by: Chris Leech <cleech@redhat.com>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  3. fipvlan: allow fcf lookup without MAC

    cleech committed with Vasu Dev Jan 29, 2015
    This fixes a segfault where there's a lookup_fcf call with mac hard set to NULL
    
    The MACs not really needed, as fipvlan doesn't use the FCF information at all -
    it just picks a VLAN and then FCF selection happens from the kernel FIP code
    once activated.
    
    Signed-off-by: Chris Leech <cleech@redhat.com>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on Oct 31, 2014
  1. fcoeadm: pass flags to fcoemon to enable vn2vn mode

    cleech committed with Vasu Dev Oct 25, 2014
    The vn2vn mode flag wasn't actually hooked up to the clif command, so
    fcoemon always received a fabric mode create request.
    
    Signed-off-by: Chris Leech <cleech@redhat.com>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
  2. fcoemon: changed link event logging macro

    Vasu Dev committed Oct 31, 2014
    Changed host link event to debug macro so that it doesn't clutter
    log with events details when debug mode is not enabled.
    
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
    Acked-by: Neil Horman <nhorman@tuxdriver.com>
    Tested-by: Jack Morgan<jack.morgan@intel.com>
Commits on Sep 23, 2014
  1. fcoeadm: display strings for new port speeds

    cleech committed with Vasu Dev Sep 17, 2014
    Signed-off-by: Chris Leech <cleech@redhat.com>
    Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Commits on May 5, 2014
  1. fcoemon: Fix IEEE state machine

    Neerav Parikh committed with Vasu Dev Mar 18, 2014
    fcoemon on adapters that support only IEEE DCBX mode
    doesn't enter into a state where it can proceed
    doing FIP VLAN discovery or creating an FCoE instance.
    This is because the current IEEE state machine is tied
    with the CEE based state machine. It relies on some
    CEE specific DCB netlink calls viz. getstate() to
    proceed; which may not be available on drivers that
    only support IEEE specific DCBNL calls.
    
    Hence, this patch aims to separate out the IEEE DCBX
    mode specific state machine from the CEE one.
    
    Signed-off-by: Neerav Parikh <neerav.parikh@intel.com>
    Tested-by: Jack Morgan<jack.morgan@intel.com>
Commits on Mar 17, 2014
  1. man: Fix typo in fcoemon documentation

    Robert Love committed Jan 25, 2014
    "module" was misspelled "modlue." This patch fixes it.
    
    Signed-off-by: Robert Love <robert.w.love@intel.com>
  2. FIPVLAN: Really break out of the recv_loop upon fip_recv error

    ew929595 committed with Robert Love Mar 5, 2014
    This patch adds additional code to break out of the recv_loop's while
    loop upon fip_recv error.  This completes the fix from
    commit 78ea81a.
    
    Without this, we have seen cases where the recv_loop gets
    stuck looping indefinitely.
    
    Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
    Signed-off-by: Robert Love <robert.w.love@intel.com>
Commits on Dec 18, 2013
  1. doc: Update QUICKSTART/INSTALL docs for systemd init file install

    Robert Love committed Dec 18, 2013
    Update installation instructions so that systemd init files
    may be installed.
    
    Signed-off-by: Robert Love <robert.w.love@intel.com>
  2. fcoemon: systemd socket activation

    hreinecke committed with Robert Love Dec 6, 2013
    Implement systemd socket activation on the CLIF socket.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Robert Love <robert.w.love@intel.com>
  3. fcoemon: add systemd service file

    hreinecke committed with Robert Love Dec 6, 2013
    Add fcoe.service file to start fcoemon from systemd
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Robert Love <robert.w.love@intel.com>
  4. fcnsq: Fixup 64bit integer handling

    hreinecke committed with Robert Love Dec 6, 2013
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Robert Love <robert.w.love@intel.com>
  5. fcnsq: Fixup help text

    hreinecke committed with Robert Love Dec 6, 2013
    The help text was missing the '-q' short option.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Robert Love <robert.w.love@intel.com>