Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Jun 2013 09:18:46 +0000
From:      Alex Liptsin <alexl@mellanox.com>
To:        "freebsd-infiniband@freebsd.org" <freebsd-infiniband@freebsd.org>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org>
Cc:        Oded Shanoon <odeds@mellanox.com>, Meny Yossefi <menyy@mellanox.com>, Regev Lev <regevl@mellanox.com>
Subject:   How to compile ipoib module manually?
Message-ID:  <64DAB3164E410447932305F50F896D8D6AF6B412@MTLDAG01.mtl.com>

next in thread | raw e-mail | index | archive | help
Hi.

I work with FreeBSD9.1 and Mellanox devices.

The kernel was configured with OFED support but without IB support:


MYKERNEL file:

#
# GENERIC -- Generic kernel configuration file for FreeBSD/amd64
#
# For more information on this file, please read the config(5) manual page,
# and/or the handbook section on Kernel Configuration Files:
#
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig=
-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: release/9.1.0/sys/amd64/conf/GENERIC 238090 2012-07-04 00:54:16=
Z delphij $

cpu                  HAMMER
include GENERIC
ident MYKERNEL

makeoptions   DEBUG=3D-g                   # Build kernel with gdb(1) debug=
 symbols

options            SCHED_ULE                 # ULE scheduler
options            PREEMPTION              # Enable kernel thread preemptio=
n
options            INET                             # InterNETworking
options            INET6                           # IPv6 communications pr=
otocols
options            SCTP                            # Stream Control Transmi=
ssion Protocol
options            FFS                               # Berkeley Fast Filesy=
stem
options            SOFTUPDATES             # Enable FFS soft updates suppor=
t
options            UFS_ACL                                  # Support for a=
ccess control lists
options            UFS_DIRHASH             # Improve performance on big dir=
ectories
options            UFS_GJOURNAL                      # Enable gjournal-base=
d UFS journaling
options            MD_ROOT                              # MD is a potential=
 root device
options            NFSCL                          # New Network Filesystem =
Client
options            NFSD                            # New Network Filesystem=
 Server
options            NFSLOCKD                   # Network Lock Manager
options            NFS_ROOT                  # NFS usable as /, requires NF=
SCL
options            MSDOSFS                                # MSDOS Filesyste=
m
options            CD9660                                    # ISO 9660 Fil=
esystem
options            PROCFS                                    # Process file=
system (requires PSEUDOFS)
options            PSEUDOFS                   # Pseudo-filesystem framework
options            GEOM_PART_GPT                  # GUID Partition Tables.
options            GEOM_RAID               # Soft RAID functionality.
options            GEOM_LABEL             # Provides labelization
options            COMPAT_FREEBSD32 # Compatible with i386 binaries
options            COMPAT_FREEBSD4               # Compatible with FreeBSD4
options            COMPAT_FREEBSD5               # Compatible with FreeBSD5
options            COMPAT_FREEBSD6               # Compatible with FreeBSD6
options            COMPAT_FREEBSD7               # Compatible with FreeBSD7
options            SCSI_DELAY=3D5000                   # Delay (in ms) befo=
re probing SCSI
options            KTRACE                                    # ktrace(1) su=
pport
options            STACK                          # stack(9) support
options            SYSVSHM                                 # SYSV-style sha=
red memory
options            SYSVMSG                                 # SYSV-style mes=
sage queues
options            SYSVSEM                                 # SYSV-style sem=
aphores
options            _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time e=
xtensions
options            PRINTF_BUFR_SIZE=3D128         # Prevent printf output b=
eing interspersed.
options            KBD_INSTALL_CDEV    # install a CDEV entry in /dev
options            HWPMC_HOOKS                     # Necessary kernel hooks=
 for hwpmc(4)
options            AUDIT                          # Security event auditing
options            MAC                            # TrustedBSD MAC Framewor=
k
#options          KDTRACE_FRAME                   # Ensure frames are compi=
led in
#options          KDTRACE_HOOKS                   # Kernel DTrace hooks
options            INCLUDE_CONFIG_FILE     # Include this file in kernel
options            KDB                             # Kernel debugger relate=
d code
options            KDB_TRACE                 # Print a stack trace for a pa=
nic

# Make an SMP-capable kernel by default
options            SMP                             # Symmetric MultiProcess=
or Kernel

# CPU frequency control
device              cpufreq

# Bus support.
device              acpi
device              pci

# Floppy drives
device              fdc

# ATA controllers
device              ahci                 # AHCI-compatible SATA controllers
device              ata                   # Legacy ATA/SATA controllers
options            ATA_CAM                    # Handle legacy controllers w=
ith CAM
options            ATA_STATIC_ID           # Static device numbering
device              mvs                  # Marvell 88SX50XX/88SX60XX/88SX70=
XX/SoC SATA
device              siis                   # SiliconImage SiI3124/SiI3132/S=
iI3531 SATA

# SCSI Controllers
device              ahc                  # AHA2940 and onboard AIC7xxx devi=
ces
options            AHC_REG_PRETTY_PRINT       # Print register bitfields in=
 debug
                                                            # output.  Adds=
 ~128k to driver.
device              ahd                  # AHA39320/29320 and onboard AIC79=
xx devices
options            AHD_REG_PRETTY_PRINT      # Print register bitfields in =
debug
                                                            # output.  Adds=
 ~215k to driver.
device              esp                   # AMD Am53C974 (Tekram DC-390(T))
device              hptiop              # Highpoint RocketRaid 3xxx series
device              isp                    # Qlogic family
#device                        ispfw                # Firmware for QLogic H=
BAs- normally a module
device              mpt                  # LSI-Logic MPT-Fusion
device              mps                 # LSI-Logic MPT-Fusion 2
#device                        ncr                   # NCR/Symbios Logic
device              sym                  # NCR/Symbios Logic (newer chipset=
s + those of `ncr')
device              trm                  # Tekram DC395U/UW/F DC315U adapte=
rs

device              adv                  # Advansys SCSI adapters
device              adw                 # Advansys wide SCSI adapters
device              aic                   # Adaptec 15[012]x SCSI adapters,=
 AIC-6[23]60.
device              bt                     # Buslogic/Mylex MultiMaster SCS=
I adapters
device              isci                   # Intel C600 SAS controller

# ATA/SCSI peripherals
device              scbus               # SCSI bus (required for ATA/SCSI)
device              ch                    # SCSI media changers
device              da                    # Direct Access (disks)
device              sa                     # Sequential Access (tape etc)
device              cd                    # CD
device              pass                 # Passthrough device (direct ATA/S=
CSI access)
device              ses                   # Enclosure Services (SES and SAF=
-TE)
device              ctl                    # CAM Target Layer

# RAID controllers interfaced to the SCSI subsystem
device              amr                 # AMI MegaRAID
device              arcmsr             # Areca SATA II RAID
#XXX it is not 64-bit clean, -scottl
#device                        asr                   # DPT SmartRAID V, VI =
and Adaptec SCSI RAID
device              ciss                  # Compaq Smart RAID 5*
device              dpt                   # DPT Smartcache III, IV - See NO=
TES for options
device              hptmv              # Highpoint RocketRAID 182x
device              hptrr                # Highpoint RocketRAID 17xx, 22xx,=
 23xx, 25xx
device              iir                     # Intel Integrated RAID
device              ips                    # IBM (Adaptec) ServeRAID
device              mly                  # Mylex AcceleRAID/eXtremeRAID
device              twa                  # 3ware 9000 series PATA/SATA RAID
device              tws                   # LSI 3ware 9750 SATA+SAS 6Gb/s R=
AID controller

# RAID controllers
device              aac                  # Adaptec FSA RAID
device              aacp                # SCSI passthrough for aac (require=
s CAM)
device              ida                   # Compaq Smart RAID
device              mfi                   # LSI MegaRAID SAS
device              mlx                  # Mylex DAC960 family
#XXX pointer/int warnings
#device                        pst                   # Promise Supertrak SX=
6000
device              twe                  # 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device              atkbdc             # AT keyboard controller
device              atkbd               # AT keyboard
device              psm                 # PS/2 mouse

device              kbdmux                       # keyboard multiplexer

device              vga                  # VGA video card driver
options            VESA                # Add support for VESA BIOS Extensio=
ns (VBE)

device              splash              # Splash screen and screen saver su=
pport

# syscons is the default console driver, resembling an SCO console
device              sc
options            SC_PIXEL_MODE         # add support for the raster text =
mode

device              agp                  # support several AGP chipsets

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device              cbb                  # cardbus (yenta) bridge
device              pccard             # PC Card (16-bit) bus
device              cardbus                       # CardBus (32-bit) bus

# Serial (COM) ports
device              uart                 # Generic UART driver

# Parallel port
device              ppc
device              ppbus               # Parallel port bus (required)
device              lpt                    # Printer
device              plip                  # TCP/IP over parallel
device              ppi                   # Parallel port interface device
#device                        vpo                  # Requires scbus and da

device              puc                  # Multi I/O cards and multi-channe=
l UARTs

# PCI Ethernet NICs.
device              bxe                  # Broadcom BCM57710/BCM57711/BCM57=
711E 10Gb Ethernet
device              de                    # DEC/Intel DC21x4x (``Tulip'')
device              em                   # Intel PRO/1000 Gigabit Ethernet =
Family
device              igb                   # Intel PRO/1000 PCIE Server Giga=
bit Family
device              ixgbe               # Intel PRO/10GbE PCIE Ethernet Fam=
ily
device              le                     # AMD Am7900 LANCE and Am79C9xx =
PCnet
device              ti                      # Alteon Networks Tigon I/II gi=
gabit Ethernet
device              txp                   # 3Com 3cR990 (``Typhoon'')
device              vx                     # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs=
!
device              miibus             # MII bus support
device              ae                    # Attansic/Atheros L2 FastEtherne=
t
device              age                  # Attansic/Atheros L1 Gigabit Ethe=
rnet
device              alc                   # Atheros AR8131/AR8132 Ethernet
device              ale                   # Atheros AR8121/AR8113/AR8114 Et=
hernet
device              bce                  # Broadcom BCM5706/BCM5708 Gigabit=
 Ethernet
device              bfe                   # Broadcom BCM440x 10/100 Etherne=
t
device              bge                  # Broadcom BCM570xx Gigabit Ethern=
et
device              cas                   # Sun Cassini/Cassini+ and NS DP8=
3065 Saturn
device              dc                    # DEC/Intel 21143 and various wor=
kalikes
device              et                     # Agere ET1310 10/100/Gigabit Et=
hernet
device              fxp                   # Intel EtherExpress PRO/100B (82=
557, 82558)
device              gem                 # Sun GEM/Sun ERI/Apple GMAC
device              hme                 # Sun HME (Happy Meal Ethernet)
device              jme                  # JMicron JMC250 Gigabit/JMC260 Fa=
st Ethernet
device              lge                   # Level 1 LXT1001 gigabit Etherne=
t
device              msk                  # Marvell/SysKonnect Yukon II Giga=
bit Ethernet
device              nfe                   # nVidia nForce MCP on-board Ethe=
rnet
device              nge                  # NatSemi DP83820 gigabit Ethernet
#device                        nve                  # nVidia nForce MCP on-=
board Ethernet Networking
device              pcn                  # AMD Am79C97x PCI 10/100 (precede=
nce over 'le')
device              re                     # RealTek 8139C+/8169/8169S/8110=
S
device              rl                      # RealTek 8129/8139
device              sf                     # Adaptec AIC-6915 (``Starfire''=
)
device              sge                   # Silicon Integrated Systems SiS1=
90/191
device              sis                    # Silicon Integrated Systems SiS=
 900/SiS 7016
device              sk                     # SysKonnect SK-984x & SK-982x g=
igabit Ethernet
device              ste                   # Sundance ST201 (D-Link DFE-550T=
X)
device              stge                 # Sundance/Tamarack TC9021 gigabit=
 Ethernet
device              tl                      # Texas Instruments ThunderLAN
device              tx                     # SMC EtherPower II (83c170 ``EP=
IC'')
device              vge                  # VIA VT612x gigabit Ethernet
device              vr                     # VIA Rhine, Rhine II
device              wb                   # Winbond W89C840F
device              xl                     # 3Com 3c90x (``Boomerang'', ``C=
yclone'')

# ISA Ethernet NICs.  pccard NICs included.
device              cs                     # Crystal Semiconductor CS89x0 N=
IC
# 'device ed' requires 'device miibus'
device              ed                    # NE[12]000, SMC Ultra, 3c503, DS=
8390 cards
device              ex                    # Intel EtherExpress Pro/10 and P=
ro/10+
device              ep                    # Etherlink III based cards
device              fe                     # Fujitsu MB8696x based cards
device              sn                     # SMC's 9000 series of Ethernet =
chips
device              xe                    # Xircom pccard Ethernet

# Wireless NIC cards
device              wlan                # 802.11 support
options            IEEE80211_DEBUG     # enable debug msgs
options            IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options            IEEE80211_SUPPORT_MESH  # enable 802.11s draft support
device              wlan_wep        # 802.11 WEP support
device              wlan_ccmp      # 802.11 CCMP support
device              wlan_tkip        # 802.11 TKIP support
device              wlan_amrr      # AMRR transmit rate control algorithm
device              an                    # Aironet 4500/4800 802.11 wirele=
ss NICs.
device              ath                   # Atheros NIC's
device              ath_pci                        # Atheros pci/cardbus gl=
ue
device              ath_hal                        # pci/cardbus chip suppo=
rt
options            AH_SUPPORT_AR5416            # enable AR5416 tx/rx descr=
iptors
device              ath_rate_sample        # SampleRate tx rate control for=
 ath
#device                        bwi                  # Broadcom BCM430x/BCM4=
31x wireless NICs.
#device                        bwn                 # Broadcom BCM43xx wirel=
ess NICs.
device              ipw                  # Intel 2100 wireless NICs.
device              iwi                   # Intel 2200BG/2225BG/2915ABG wir=
eless NICs.
device              iwn                  # Intel 4965/1000/5000/6000 wirele=
ss NICs.
device              malo                # Marvell Libertas wireless NICs.
device              mwl                 # Marvell 88W8363 802.11n wireless =
NICs.
device              ral                    # Ralink Technology RT2500 wirel=
ess NICs.
device              wi                    # WaveLAN/Intersil/Symbol 802.11 =
wireless NICs.
device              wpi                  # Intel 3945ABG wireless NICs.

# Pseudo devices.
device              loop                 # Network loopback
device              random                       # Entropy device
device              ether               # Ethernet support
device              vlan                 # 802.1Q VLAN support
device              tun                   # Packet tunnel.
device              pty                   # BSD-style compatibility pseudo =
ttys
device              md                   # Memory "disks"
device              gif                    # IPv6 and IPv4 tunneling
device              faith                 # IPv6-to-IPv4 relaying (translat=
ion)
device              firmware         # firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device              bpf                   # Berkeley packet filter

# USB support
options            USB_DEBUG    # enable debug msgs
device              uhci                 # UHCI PCI->USB interface
device              ohci                 # OHCI PCI->USB interface
device              ehci                 # EHCI PCI->USB interface (USB 2.0=
)
device              xhci                  # XHCI PCI->USB interface (USB 3.=
0)
device              usb                   # USB Bus (required)
#device                        udbp                # USB Double Bulk Pipe d=
evices (needs netgraph)
device              uhid                 # "Human Interface Devices"
device              ukbd                # Keyboard
device              ulpt                  # Printer
device              umass              # Disks/Mass storage - Requires scbu=
s and da
device              ums                 # Mouse
device              urio                  # Diamond Rio 500 MP3 player
# USB Serial devices
device              u3g                  # USB-based 3G modems (Option, Hua=
wei, Sierra)
device              uark                 # Technologies ARK3116 based seria=
l adapters
device              ubsa                 # Belkin F5U103 and compatible ser=
ial adapters
device              uftdi                 # For FTDI usb serial adapters
device              uipaq               # Some WinCE based devices
device              uplcom                        # Prolific PL-2303 serial=
 adapters
device              uslcom             # SI Labs CP2101/CP2102 serial adapt=
ers
device              uvisor              # Visor and Palm devices
device              uvscom                        # USB serial support for =
DDI pocket's PHS
# USB Ethernet, requires miibus
device              aue                  # ADMtek USB Ethernet
device              axe                  # ASIX Electronics USB Ethernet
device              cdce                 # Generic USB over Ethernet
device              cue                  # CATC USB Ethernet
device              kue                  # Kawasaki LSI USB Ethernet
device              rue                   # RealTek RTL8150 USB Ethernet
device              udav                # Davicom DM9601E USB
# USB Wireless
device              rum                 # Ralink Technology RT2501USB wirel=
ess NICs
device              run                   # Ralink Technology RT2700/RT2800=
/RT3000 NICs.
device              uath                 # Atheros AR5523 wireless NICs
device              upgt                 # Conexant/Intersil PrismGT wirele=
ss NICs.
device              ural                  # Ralink Technology RT2500USB wir=
eless NICs
device              urtw                 # Realtek RTL8187B/L wireless NICs
device              zyd                   # ZyDAS zd1211/zd1211b wireless N=
ICs

# FireWire support
device              firewire           # FireWire bus code
# sbp(4) works for some systems but causes boot failure on others
#device                        sbp                   # SCSI over FireWire (=
Requires scbus and da)
device              fwe                  # Ethernet over FireWire (non-stan=
dard!)
device              fwip                 # IP over FireWire (RFC 2734,3146)
device              dcons               # Dumb console driver
device              dcons_crom    # Configuration ROM for dcons

# Sound support
device              sound               # Generic sound driver (required)
device              snd_cmi                       # CMedia CMI8338/CMI8738
device              snd_csa                       # Crystal Semiconductor C=
S461x/428x
device              snd_emu10kx  # Creative SoundBlaster Live! and Audigy
device              snd_es137x     # Ensoniq AudioPCI ES137x
device              snd_hda                       # Intel High Definition A=
udio
device              snd_ich                        # Intel, NVidia and othe=
r ICH AC'97 Audio
device              snd_uaudio      # USB Audio
device              snd_via8233    # VIA VT8233x Audio

# Mellanox and IB support
options OFED # Infiniband protocol
options OFED_DEBUG_INIT
options SDP # Sockets Direct Protocol for infiniband
options SDP_DEBUG
# options IPOIB_DEBUG
# options IPOIB_CM # Use connect mode ipoib
device mthca # Infinihost cards
# device mlx4ib # ConnectX Infiniband support
#device mlxen # ConnectX Ethernet support
# device ipoib # IP over IB devices

I commented on that lines, because I want to compile and load that modules =
manually.
I had succeed to compile and load mlx4, mlx4ib and mlxen from /sys/modules:

[root@h-qa-033 mlxen]# kldstat
Id Refs Address            Size     Name
1   14 0xffffffff80200000 13acbd8  kernel
2    1 0xffffffff81612000 21e5     if_mos.ko
3    3 0xffffffff81615000 124eb    mlx4.ko
4    1 0xffffffff81628000 e225     mlx4ib.ko
5    1 0xffffffff81637000 ec60     mlxen.ko

The problem is that IPOIB module is missing in /sys/modules.

1.      Where can I find it?

2.      How can I compile ipoib support?


Regards,
Alex Liptsin
Software Quality Assurance Engineer | Mellanox Technologies Ltd.
Office: +972 (74) 7236141
Mobile: +972(54) 7833986
Fax: +972(74) 7236161
Email: alexl@mellanox.com<mailto:alexl@mellanox.com>
Mellanox, Tel-Hai Industrial Park. Building 7, M.P. Upper Galilee 12100 Isr=
ael




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?64DAB3164E410447932305F50F896D8D6AF6B412>