From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: mlx5 under FreeBSD Date: Wed, 21 Nov 2018 12:12:04 -0800 Message-ID: <20181121121204.297ef328@xeon-e3> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: shahafs , Thomas Monjalon , dev , Yongseok Koh To: Mit Matelske Return-path: Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by dpdk.org (Postfix) with ESMTP id AEF8E1B13A for ; Wed, 21 Nov 2018 21:12:07 +0100 (CET) Received: by mail-pl1-f193.google.com with SMTP id b5so7018692plr.4 for ; Wed, 21 Nov 2018 12:12:07 -0800 (PST) In-Reply-To: <1145619802.1261333.1542820311675.JavaMail.zimbra@perftech.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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.