# Mellanox ConnectX EN 10GigE



## davorin (Dec 4, 2016)

Hello

I saw in old threads that the Mellanox ConnectX 10GB PCIe card was supported...
but when enabling those drivers trying to build a custom 11 kernel the build fails...

Is this card no longer supported in FreeBSD 11.0 anymore?


```
none3@pci0:9:0:0:    class=0x020000 card=0x002115b3 chip=0x675015b3 rev=0xb0 hdr=0x00
    vendor     = 'Mellanox Technologies'
    device     = 'MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s]'
    class      = network
    subclass   = ethernet
```


----------



## SirDice (Dec 6, 2016)

Please post the build error.


----------



## davorin (Dec 7, 2016)

```
mlx4ib_alias_GUID.o: In function `mlx4_ib_destroy_alias_guid_service':
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:607: undefined reference to `ib_sa_cancel_query'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:608: undefined reference to `linux_wait_for_common'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:609: undefined reference to `M_KMALLOC'
mlx4ib_alias_GUID.o: In function `flush_taskqueue':
/usr/src/sys/compat/linuxkpi/common/include/linux/workqueue.h:159: undefined reference to `linux_flush_fn'
mlx4ib_alias_GUID.o: In function `mlx4_ib_destroy_alias_guid_service':
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:616: undefined reference to `destroy_workqueue'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:618: undefined reference to `ib_sa_unregister_client'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:619: undefined reference to `M_KMALLOC'
mlx4ib_alias_GUID.o: In function `mlx4_ib_init_alias_guid_service':
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:632: undefined reference to `M_KMALLOC'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:636: undefined reference to `ib_sa_register_client'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:680: undefined reference to `linux_create_workqueue_common'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:685: undefined reference to `linux_work_fn'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:692: undefined reference to `destroy_workqueue'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:697: undefined reference to `ib_sa_unregister_client'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:698: undefined reference to `M_KMALLOC'
```


----------



## SirDice (Dec 7, 2016)

I'm guessing you're missing a couple of required options:

```
To compile this driver into the kernel, place the following lines in your
     kernel configuration file:

           options COMPAT_LINUXKPI
           device mlx5
           device mlx5en
```
See mlx5en(4).


----------



## davorin (Dec 7, 2016)

That's for the newer Mellanox 4 and 5 card....but I'll try the COMPAT_LINUXKPI option...


----------



## SirDice (Dec 7, 2016)

davorin said:


> That's for the newer Mellanox 4 and 5 card....


Yeah, I was afraid of that. I just couldn't find the man page for this specific interface.



> but I'll try the COMPAT_LINUXKPI option...


Judging by the errors you're getting I'm betting it's the same option you need.


----------



## davorin (Dec 7, 2016)

Hmm...some InfiniBand stuff is still missing...


```
mlx4ib_alias_GUID.o: In function `mlx4_ib_destroy_alias_guid_service':
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:607: undefined reference to `ib_sa_cancel_query'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:618: undefined reference to `ib_sa_unregister_client'
mlx4ib_alias_GUID.o: In function `mlx4_ib_init_alias_guid_service':
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:636: undefined reference to `ib_sa_register_client'
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:697: undefined reference to `ib_sa_unregister_client'
mlx4ib_alias_GUID.o: In function `set_guid_rec':
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c:414: undefined reference to `ib_sa_guid_info_rec_query'
```


----------



## davorin (Dec 7, 2016)

Okay...now I have:


```
mlxen0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=ed07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTE
```

And the Cisco tells me:


```
*Mar  1 03:19:07.852: %LINK-3-UPDOWN: Interface TenGigabitEthernet1/0/2, changed state to up      
*Mar  1 03:19:08.858: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/0/2, chp
```


----------

