User: Password:
Subscribe / Log in / New account

HFI: minimal device driver/ip driver

Subject:  [PATCH v3 00/27] HFI: minimal device driver/ip driver
Date:  Thu, 21 Apr 2011 17:38:30 -0400
Message-ID:  <>
Cc:  Jim Dykman <>
Archive-link:  Article

From: Jim Dykman <>

The HFI ("Host Fabric Interface") network interface is the internal cluster
fabric of IBM's PERCS supercomputer. The hardware design is under US export
control, so we cannot release hardware specs. There is a writeup of
publically available information about the system available here:

hfi_core contains the resource management to set up communications paths for
network traffic. Calls are provided for kernel drivers, and also for setting
up direct user-space access to HFI windows.
hfi_ip contains the kernel network driver.

The driver has been running in the lab for several months. The full patch is
around 22000 lines, so we've split out a minimal device/network driver that
can send and receive through the simplest path.  Once that much gets accepted
we'll start adding on to it.

Patches are against net-next-2.6.

Jim Dykman

v3:	Don't include <linux/version.h>
	hfidd_mod_init: return -1; --> return rc;
	hfidd_alloc_adapter: pass snprintf xiHFI_DEVICE_NAME_MAX, 
	change HFI_DEVICE_NAME_MAX from 64 to 8
        Remove return; at the end of void funcs
        hfidd_free_adapter: p_acs = NULL unneccesssary, remove
        remove net_stats, and use netdev->stats, remove hf_get_stats
        rename network driver to hfi_ip
        hf_inet_event: NETDEV_UP needs to check event is for us, check
                netdev->netdev_ops == ours
        change printk()s to netdev_err() and friends
        hf_net_close: remove redundant CLOSE check
        hf_change_mtu: minimum mtu should be 68
        remove NETIF_F_SG flag
        hf_init_netdev: Use ERR_PTR
        hf_init_module: %ld / formatting
                        pass up return code from failed call
        use unsigned int instead of u32 for bit fields <32 bits
        use struct ethhdr instead of hf_hwhdr
        hf_get_sset_count: default return -EINVAL not -EOPNOTSUPP
        Remove "hfidd_callback_event: enter" message that printed on every
                recv interrupt
        hfidd_destroy_devices: hfidd_rmdev() after hfidd_free_adapter() so
                dev_printk doesn't oops on rmmod

To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to
More majordomo info at

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds