From owner-freebsd-net@FreeBSD.ORG Tue Jul 20 19:54:25 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DFCB106566C for ; Tue, 20 Jul 2010 19:54:25 +0000 (UTC) (envelope-from pebu3op@googlemail.com) Received: from mail.net.t-labs.tu-berlin.de (mail.net.t-labs.tu-berlin.de [130.149.220.252]) by mx1.freebsd.org (Postfix) with ESMTP id 24BFB8FC17 for ; Tue, 20 Jul 2010 19:54:23 +0000 (UTC) Received: from raven.net.t-labs.tu-berlin.de (raven.net.t-labs.tu-berlin.de [130.149.220.18]) by mail.net.t-labs.tu-berlin.de (Postfix) with ESMTP id 28D3F700C81C for ; Tue, 20 Jul 2010 21:54:23 +0200 (CEST) From: Alexander Fiveg Organization: Google To: freebsd-net@freebsd.org Date: Tue, 20 Jul 2010 21:54:18 +0200 User-Agent: KMail/1.9.10 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201007202154.19448.pebu3op@googlemail.com> Subject: support for L3/L4-filters in ixgbe X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pebu3op@googlemail.com List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2010 19:54:25 -0000 Hello hackers, I have a couple of questions about the support of multiple-queues in the ixgbe driver. I am working on ringmap project in context of GSOC-2010. Currently I am trying to integrate ringmap with ixgbe. The network controller on my test-machine: 82599. My questions are: - Is there any interface to the user-space that allows the user-space process (for example by using ioctl()) to assign one specific queue for packets matched by L3/L4 filter (IP's , L4-protocols, ports). Has anyone tried to implement it for ixgbe? (If no, then I would try to implement this functionality and in this case any suggestions and advices would be very helpfull!) - Which filter can be used for assigning the network packets to a specific queue based on MAC-address ? (As far as I know it from datasheet, L2-filer matches only Ethertype, not the MAC-address-bytes. probably it can be done only by "flow director filter") Thanks, Alex P.S. Some outputs on my machine: % uname -v FreeBSD 9.0-CURRENT #1 % sysctl kern.osreldate kern.osreldate: 900014 % sysctl dev.ix.0 dev.ix.0.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 2.2.3 dev.ix.0.%driver: ix dev.ix.0.%location: slot=0 function=0 dev.ix.0.%pnpinfo: vendor=0x8086 device=0x10fb subvendor=0x8086 subdevice=0x0003 class=0x020000 dev.ix.0.%parent: pci1 dev.ix.0.stats: -1 dev.ix.0.debug: -1 dev.ix.0.flow_control: 3 dev.ix.0.advertise_gig: 0 dev.ix.0.enable_aim: 1 dev.ix.0.rx_processing_limit: 128 % cat /var/log/messages | grep ix Jul 15 18:31:38 ringmap-2 kernel: ix0: port 0xac00-0xac1f mem 0xfe780000-0xfe7fffff,0xfe77c000-0xfe77ffff irq 16 at device 0.0 on pci1 Jul 15 18:31:38 ringmap-2 kernel: ix0: Using MSIX interrupts with 9 vectors Jul 15 18:31:38 ringmap-2 kernel: ix0: [ITHREAD] Jul 15 18:31:38 ringmap-2 kernel: ix0: Ethernet address: 00:1b:21:5a:67:70 Jul 15 18:31:38 ringmap-2 kernel: ix0: PCI Express Bus: Speed 2.5Gb/s Width x8 Jul 15 18:31:38 ringmap-2 kernel: ix1: port 0xa800-0xa81f mem 0xfe680000-0xfe6fffff,0xfe778000-0xfe77bfff irq 17 at device 0.1 on pci1 Jul 15 18:31:38 ringmap-2 kernel: ix1: Using MSIX interrupts with 9 vectors Jul 15 18:31:38 ringmap-2 kernel: ix1: RX Descriptors exceed system mbuf max, using default instead! Jul 15 18:31:38 ringmap-2 kernel: ix1: [ITHREAD] Jul 15 18:31:38 ringmap-2 kernel: ix1: Ethernet address: 00:1b:21:5a:67:71 Jul 15 18:31:38 ringmap-2 kernel: ix1: PCI Express Bus: Speed 2.5Gb/s Width x8