[dpdk-dev] mlx5 under FreeBSD

Stephen Hemminger stephen at networkplumber.org
Wed Nov 21 21:12:04 CET 2018


On Wed, 21 Nov 2018 11:11:51 -0600 (CST)
Mit Matelske <mit at pt.net> 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.


More information about the dev mailing list