From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mit Matelske Subject: Re: mlx5 under FreeBSD Date: Fri, 1 Mar 2019 09:58:02 -0600 (CST) Message-ID: <832315875.3148291.1551455882901.JavaMail.zimbra@perftech.com> References: <1203238912.103536.1542300483728.JavaMail.zimbra@perftech.com> <4060784.NMgGY7Cv01@xps> <164311280.707048.1542583391811.JavaMail.zimbra@perftech.com> <383796151.782033.1542640162186.JavaMail.zimbra@perftech.com> <20181119090810.02543f44@xeon-e3> <1145619802.1261333.1542820311675.JavaMail.zimbra@perftech.com> <20181121121204.297ef328@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: shahafs , Thomas Monjalon , dev , Yongseok Koh To: stephen Return-path: Received: from smtp-gw.pt.net (smtp-gw.pt.net [206.210.194.15]) by dpdk.org (Postfix) with ESMTP id 3EAC92C0C for ; Fri, 1 Mar 2019 16:58:05 +0100 (CET) In-Reply-To: <20181121121204.297ef328@xeon-e3> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" I was wondering if I could lean on the experts to help me out with an issue? I'm finally testing this port but don't understand why the following error is happening: net_mlx5: mlx5_rxq.c:2151: mlx5_hrxq_drop_new(): port 0 cannot allocate QP for drop queue The driver is giving the following error corresponding with that DPDK message: Feb 28 15:00:44 fb100g1 kernel: mlx5_core0: ERR: mlx5_cmd_check:701:(pid 6819): CREATE_TIR(0x900) op_mod(0x0) failed, status bad parameter(0x3), syndrome (0x569ee6) The mlx5_core_create_tir function completes successfully for the en driver, just not the ib driver when trying to build the hash tables. Any ideas? I've instrumented libmlx5.so.1, mlx5.ko and mlx5ib.ko to debug this and everything looks fine according to my limited knowledge. Not sure why the card is balking on this action. Thanks! Mit Matelske ----- Original Message ----- From: "stephen" To: "Mit Matelske" Cc: "shahafs" , "Thomas Monjalon" , "dev" , "Yongseok Koh" Sent: Wednesday, November 21, 2018 2:12:04 PM Subject: Re: [dpdk-dev] mlx5 under FreeBSD On Wed, 21 Nov 2018 11:11:51 -0600 (CST) Mit Matelske wrote: > > > > Rather than building a complex shim, why not just have an OS dependent section > > of the driver. The bigger issue is that the kernel side functionality in BSD > > is different or missing. For example TAP API is different and not multi-queue. > > Once I started working on it, I had to go this route. I haven't been able to but much > time into it yet, but it is coming along: > > EAL: PCI device 0000:b3:00.0 on NUMA socket 0 > EAL: probe driver: 15b3:1013 net_mlx5 > net_mlx5: mlx5.c:1315: mlx5_pci_probe(): checking device "mlx5_0" uverbs0 /sys/class/infiniband_verbs/uverbs0 /sys/class/infiniband/mlx5_0 > net_mlx5: mlx5.c:1325: mlx5_pci_probe(): PCI information matches for device "mlx5_0" > net_mlx5: mlx5.c:1315: mlx5_pci_probe(): checking device "mlx5_1" uverbs1 /sys/class/infiniband_verbs/uverbs1 /sys/class/infiniband/mlx5_1 > net_mlx5: mlx5.c:1382: mlx5_pci_probe(): no switch support detected > net_mlx5: mlx5.c:796: mlx5_dev_spawn(): MPW isn't supported > net_mlx5: mlx5.c:852: mlx5_dev_spawn(): tunnel offloading disabled due to old OFED/rdma-core version > net_mlx5: mlx5.c:864: mlx5_dev_spawn(): MPLS over GRE/UDP tunnel offloading disabled due to old OFED/rdma-core version or firmware configuration > net_mlx5: mlx5.c:877: mlx5_dev_spawn(): naming Ethernet device "0000:b3:00.0" > net_mlx5: mlx5.c:1007: mlx5_dev_spawn(): checksum offloading is supported > net_mlx5: mlx5.c:1024: mlx5_dev_spawn(): maximum Rx indirection table size is 512 > net_mlx5: mlx5.c:1028: mlx5_dev_spawn(): VLAN stripping is not supported > net_mlx5: mlx5.c:1032: mlx5_dev_spawn(): FCS stripping configuration is not supported > net_mlx5: mlx5.c:1037: mlx5_dev_spawn(): hardware Rx end alignment padding is not supported > net_mlx5: mlx5.c:1052: mlx5_dev_spawn(): MPS is disabled > net_mlx5: mlx5.c:628: mlx5_uar_init_primary(): port 0 reserved UAR address space: 0x880000000 > net_mlx5: mlx5.c:1107: mlx5_dev_spawn(): port 0 MAC address is 00:90:0b:78:2a:ea > net_mlx5: mlx5.c:1114: mlx5_dev_spawn(): port 0 ifname is "mce0" > net_mlx5: mlx5.c:1127: mlx5_dev_spawn(): port 0 MTU is 1500 > net_mlx5: mlx5.c:1142: mlx5_dev_spawn(): flow rules relying on switch offloads will not be supported: cannot open libmnl socket: Address family not supported by protocol family > net_mlx5: mlx5.c:1176: mlx5_dev_spawn(): port 0 forcing Ethernet interface up > net_mlx5: mlx5_ethdev.c:735: mlx5_link_update_unlocked_gs(): port 0 ioctl(SIOCGIFFLAGS) failed: No such file or directory > net_mlx5: mlx5_ethdev.c:664: mlx5_link_update_unlocked_gset(): port 0 ioctl(SIOCGIFFLAGS) failed: No such file or directory > net_mlx5: mlx5_rxq.c:2150: mlx5_hrxq_drop_new(): port 0 cannot allocate QP for drop queue > Segmentation fault (core dumped) > > Working through mlx5_ethdev now... > > Mit Also if you are targeting Azure or Hyper-V, then don't bother porting TAP/VDEV_NETVSC/Failsafe model because that is being replaced by netvsc native PMD. It would be easier to just get that working. It would mean writing a uio equivalent driver for FreeBSD.