From owner-freebsd-virtualization@freebsd.org Mon Feb 22 13:37:58 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D6C22AB0405; Mon, 22 Feb 2016 13:37:58 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from mx1.sbone.de (bird.sbone.de [46.4.1.90]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 980411CB1; Mon, 22 Feb 2016 13:37:58 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 22FAB25D3891; Mon, 22 Feb 2016 13:37:49 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 6E146C76FCD; Mon, 22 Feb 2016 13:37:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id kmD75uP3DbNN; Mon, 22 Feb 2016 13:37:46 +0000 (UTC) Received: from [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6] (orange-tun0-ula.sbone.de [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 68E83C76FE8; Mon, 22 Feb 2016 13:37:46 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Subject: VNET teardown changes (part I) Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) From: "Bjoern A. Zeeb" Date: Mon, 22 Feb 2016 13:37:44 +0000 Cc: FreeBSD Net , freebsd-jail@freebsd.org Content-Transfer-Encoding: 7bit Reply-To: bz@FreeBSD.org Message-Id: To: freebsd-virtualization@freebsd.org X-Mailer: Apple Mail (2.2104) X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 13:37:58 -0000 Hi, sorry for the cross-post; Reply-To set. I extracted a patch from projects VNET which tries to get the VNET teardown more robust (and in a next step plug the remaining [TCP] memory leaks). If anyone has an interest in testing some parts on a non-production setup (you have been warned) please do so and report back to me (privately) in case of success or panics. There is more to come. https://people.freebsd.org/~bz/20160222-01-projects-vnets.diff Thanks, Bjoern From owner-freebsd-virtualization@freebsd.org Mon Feb 22 13:41:17 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72D93AB0587; Mon, 22 Feb 2016 13:41:17 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (bird.sbone.de [46.4.1.90]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 313781F4A; Mon, 22 Feb 2016 13:41:16 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id B62CA25D3891; Mon, 22 Feb 2016 13:41:14 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 108C6C76FE8; Mon, 22 Feb 2016 13:41:14 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id 64qPPgAHf4da; Mon, 22 Feb 2016 13:41:12 +0000 (UTC) Received: from [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6] (orange-tun0-ula.sbone.de [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 66E2CC76FCD; Mon, 22 Feb 2016 13:41:12 +0000 (UTC) From: "Bjoern A. Zeeb" Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: VNET jails not going away Date: Mon, 22 Feb 2016 13:41:10 +0000 Message-Id: Cc: freebsd-jail@freebsd.org To: freebsd-virtualization@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) X-Mailer: Apple Mail (2.2104) X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 13:41:17 -0000 Hi, has anyone else experienced VNET jails to not fully go away anymore on a = recent HEAD kernel (or possibly an older kernel)? I have test cases with which I can have them in DYING state (see jls = -av) for ever or at least more than half a day. I am in the process of = trying to find the cause but would be good to know if anyone else is = experiencing this? Thanks, Bjoern Example (after more than 12 hours of jail -r ..): # jls -av JID Hostname Path Name State CPUSetID IP Address(es) 1 left.example.net / lef827 DYING 18 2 center.example.net / mid827 DYING 19 3 right.example.net / right827 DYING 20 6 right.example.net / right923 DYING 23= From owner-freebsd-virtualization@freebsd.org Mon Feb 22 20:01:37 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA93AAB1757; Mon, 22 Feb 2016 20:01:37 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x22b.google.com (mail-vk0-x22b.google.com [IPv6:2607:f8b0:400c:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6B463106B; Mon, 22 Feb 2016 20:01:37 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x22b.google.com with SMTP id k196so141799740vka.0; Mon, 22 Feb 2016 12:01:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=YE1xIzbbd4OahmTUn7n4mlfYBvjoQ/KmoDtWsdPrSaI=; b=JOuK3QnZvh7KVCO1Opu5CnRcNWyG8gm2qKTjYwshhcWx/pZhOpwBdUWGtwqzDqeAao yIs4XaPEEzD0VbrWYoPx/XroaOyJyFoHnwtWnyb4X4zxxN/2SnTLAuhWt+8L8Xd4mQOK y3pDimDpRXaZXZ4JwPTn41/+Ea+fHthmxszjAx1tx5ValHtFBOmhhn3la/so1B7e+GeO OC9uf0PcWU2Wk4ci+UxoG6WpYjN+v9MBMCXPMIepnz+KexzzwVebhqzrPEPkyVMqrqea kEFfh6V6VLUTFUlqDDA4BDtzdURJY+spmsfCjgsfAaiLXeLN7SZbW93Yy9AqaRMmz+M6 hjoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=YE1xIzbbd4OahmTUn7n4mlfYBvjoQ/KmoDtWsdPrSaI=; b=eIQQAhtShxkdoIvqwix5bslsdBGHJmU2ecFRp3gm3sqsDUZWTOq1JSTK/uuU7JFlZR 9QIt433Lp905opgSgN1upxUGa/r671Re+caE2NUcUB/VRskLTa0svHHH85TkcUYdyr4i +ekLSUzFYxgtfwymPs5F9/3VoaaxIMJ3x99Qh7Gh6BmnlBGJuMejb5wGk71A9n8zGLod mwPxR1oGNGrDdIXJIWJrfHXLURA2oB0BFA8D+bFUyDujk3898nq0VLe6KDp3TssA6o1/ r8EpogejkmUfhrrWqhUUXOw0oZuvwnAjMCILCE+N+HCMkiN6ygUKCdUixSblJjAXlKEe eqVg== X-Gm-Message-State: AG10YOQtJxhC1vDw8dXOiFcasIjIXNjQY1v88+Wk09bdBxSYx9PG6p5vwbnkq4j2xiJ9FukTxekF1fgdSRpcrA== MIME-Version: 1.0 X-Received: by 10.31.47.88 with SMTP id v85mr24993422vkv.118.1456171295903; Mon, 22 Feb 2016 12:01:35 -0800 (PST) Received: by 10.31.194.194 with HTTP; Mon, 22 Feb 2016 12:01:35 -0800 (PST) In-Reply-To: References: Date: Mon, 22 Feb 2016 15:01:35 -0500 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 From: Ultima To: Eric Joyner Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 20:01:37 -0000 After reboot... ifconfig ix1 up dhclient ix1 DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 4 DHCPOFFER from 192.168.1.1 DHCPREQUEST on ix1 to 255.255.255.255 port 67 DHCPACK from 192.168.1.1 bound to 192.168.1.145 -- renewal in 21600 seconds. ix0 down ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.149 ms 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.171 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.167 ms iovctl -Cf /etc/iovctl.conf ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes ^C --- 192.168.1.1 ping statistics --- 29 packets transmitted, 0 packets received, 100.0% packet loss ifconfig ix1 up ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes ^C --- 192.168.1.1 ping statistics --- 12 packets transmitted, 0 packets received, 100.0% packet loss ix1 is no longer usable until a restart... iovctl -Dd ix1 ifconfig ix1 up ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes ^C --- 192.168.1.1 ping statistics --- 9 packets transmitted, 0 packets received, 100.0% packet loss Is there anything else that maybe useful? here is my ifconfig at the end (after ifconfig ix0 up) ix0: flags=8943 metric 0 mtu 1500 options=e400b9 ether -Hidden- inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255 inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=29 media: Ethernet autoselect (10Gbase-T ) status: active ix1: flags=8843 metric 0 mtu 1500 options=e407bb ether -Hidden- inet 192.168.1.145 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=29 media: Ethernet autoselect (10Gbase-T ) status: active lo0: flags=8049 metric 0 mtu 16384 options=600003 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet 127.0.0.1 netmask 0xff000000 nd6 options=21 groups: lo bridge0: flags=8843 metric 0 mtu 1500 ether -Hidden- nd6 options=9 groups: bridge id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 member: ix0 flags=143 ifmaxaddr 0 port 1 priority 128 path cost 2000 member: epair0a flags=143 ifmaxaddr 0 port 5 priority 128 path cost 2000 epair0a: flags=8943 metric 0 mtu 1500 options=8 ether -Hidden- inet6 fe80::ff:70ff:fe00:50a%epair0a prefixlen 64 scopeid 0x5 nd6 options=21 media: Ethernet 10Gbase-T (10Gbase-T ) status: active groups: epair On Mon, Feb 22, 2016 at 1:51 PM, Eric Joyner wrote: > Did you do an ifconfig up on ix1 before loading the VF driver? > > On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: > >> Decided to do some testing with iovctl to see how sr-iov is coming along. >> Currently when adding the vf's there are a couple errors, and the network >> no longer function after iovctl is started. My guess is the reset_hw() >> call >> that is failing. Any ideas why this call would fail? I tested this on both >> ports, ix1 is detached and unused for this test, however inserting a cable >> results in an unusable port. iovctl -Dd ix1 removes the vf's, however >> functionality is still not restored without a system restart. >> >> FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 >> 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 >> >> /boot/loader.conf >> hw.ix.num_queues="4" >> >> /etc/iovctl.conf >> PF { >> device : ix1; >> num_vfs : 31; >> } >> >> DEFAULT { >> passthrough : true; >> } >> VF-0 { >> passthrough : false; >> } >> VF-1 { >> passthrough : false; >> } >> >> # iovctl -C -f /etc/iovctl.conf >> >> dmesg >> ixv0: > 1.4.6-k> at device 0.129 on pci12 >> ixv0: Using MSIX interrupts with 2 vectors >> ixv0: ixgbe_reset_hw() failed with error -100 >> device_attach: ixv0 attach returned 5 >> ixv0: > 1.4.6-k> at device 0.131 on pci12 >> ixv0: Using MSIX interrupts with 2 vectors >> ixv0: ixgbe_reset_hw() failed with error -100 >> device_attach: ixv0 attach returned 5 >> pci12: at device 0.133 (no driver attached) >> pci12: at device 0.135 (no driver attached) >> pci12: at device 0.137 (no driver attached) >> pci12: at device 0.139 (no driver attached) >> pci12: at device 0.141 (no driver attached) >> pci12: at device 0.143 (no driver attached) >> pci12: at device 0.145 (no driver attached) >> pci12: at device 0.147 (no driver attached) >> pci12: at device 0.149 (no driver attached) >> pci12: at device 0.151 (no driver attached) >> pci12: at device 0.153 (no driver attached) >> pci12: at device 0.155 (no driver attached) >> pci12: at device 0.157 (no driver attached) >> pci12: at device 0.159 (no driver attached) >> pci12: at device 0.161 (no driver attached) >> pci12: at device 0.163 (no driver attached) >> pci12: at device 0.165 (no driver attached) >> pci12: at device 0.167 (no driver attached) >> pci12: at device 0.169 (no driver attached) >> pci12: at device 0.171 (no driver attached) >> pci12: at device 0.173 (no driver attached) >> pci12: at device 0.175 (no driver attached) >> pci12: at device 0.177 (no driver attached) >> pci12: at device 0.179 (no driver attached) >> pci12: at device 0.181 (no driver attached) >> pci12: at device 0.183 (no driver attached) >> pci12: at device 0.185 (no driver attached) >> pci12: at device 0.187 (no driver attached) >> pci12: at device 0.189 (no driver attached) >> >> pciconf -lv >> ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'Ethernet Controller 10-Gigabit X540-AT2' >> class = network >> subclass = ethernet >> none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 >> rev=0x01 hdr=0x00 >> vendor = 'Intel Corporation' >> device = 'X540 Ethernet Controller Virtual Function' >> class = network >> subclass = ethernet >> >> Ultima >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org >> " >> > From owner-freebsd-virtualization@freebsd.org Mon Feb 22 20:26:46 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C085EAB0299; Mon, 22 Feb 2016 20:26:46 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: from mail-qk0-f170.google.com (mail-qk0-f170.google.com [209.85.220.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 84FA9101A; Mon, 22 Feb 2016 20:26:46 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: by mail-qk0-f170.google.com with SMTP id s68so60326606qkh.3; Mon, 22 Feb 2016 12:26:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; bh=1UhCqo4zVKQgLnnbmMYj7IXgQxEM5kin1WT5WhjwhY8=; b=EsPXbJNxiSCLd16MBiyf9kcFFua9vlLSTn/i6Y2TAwT6EAZDf7jur2CdCbJbla2giU xxOZXW2TOtsmMCNIg+nuUxmbs7bYN1VBxBoP7cNJNWDuLGc/QjSBEwFqWgLYsqnWTBq3 iJyBxR0lkKawl3oatd8n04vMuPlX1k8sAaW5zRv4t5ahChlUzBTgsFquEVEfNw/k0Htb 4OTXL29ls16alTLN6pYXpv/ZP9RC/uykFC/EZvXLNxqxtGUbNIp7t5IwOfdbVM4mydCH SDlXZog6Z+1J/eqi4F8qgENTIGtlePzdK99TmTaSuO58bYtcGJErwGwxL2m1otj10KG6 Pb2Q== X-Gm-Message-State: AG10YORLp7BZAUhE0M2w1iFTV9p6GH7FM6Y6tVeu5Riczp9NOAwz5yn/b4n0VzF8W0adVA== X-Received: by 10.55.81.87 with SMTP id f84mr36145123qkb.10.1456167093602; Mon, 22 Feb 2016 10:51:33 -0800 (PST) Received: from mail-qk0-f179.google.com (mail-qk0-f179.google.com. [209.85.220.179]) by smtp.gmail.com with ESMTPSA id n35sm7133731qgn.10.2016.02.22.10.51.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Feb 2016 10:51:33 -0800 (PST) Received: by mail-qk0-f179.google.com with SMTP id o6so59487405qkc.2; Mon, 22 Feb 2016 10:51:33 -0800 (PST) X-Received: by 10.55.79.79 with SMTP id d76mr36394401qkb.76.1456167093035; Mon, 22 Feb 2016 10:51:33 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Eric Joyner Date: Mon, 22 Feb 2016 18:51:23 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 To: Ultima , freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 20:26:47 -0000 Did you do an ifconfig up on ix1 before loading the VF driver? On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: > Decided to do some testing with iovctl to see how sr-iov is coming along. > Currently when adding the vf's there are a couple errors, and the network > no longer function after iovctl is started. My guess is the reset_hw() call > that is failing. Any ideas why this call would fail? I tested this on both > ports, ix1 is detached and unused for this test, however inserting a cable > results in an unusable port. iovctl -Dd ix1 removes the vf's, however > functionality is still not restored without a system restart. > > FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 > 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 > > /boot/loader.conf > hw.ix.num_queues="4" > > /etc/iovctl.conf > PF { > device : ix1; > num_vfs : 31; > } > > DEFAULT { > passthrough : true; > } > VF-0 { > passthrough : false; > } > VF-1 { > passthrough : false; > } > > # iovctl -C -f /etc/iovctl.conf > > dmesg > ixv0: 1.4.6-k> at device 0.129 on pci12 > ixv0: Using MSIX interrupts with 2 vectors > ixv0: ixgbe_reset_hw() failed with error -100 > device_attach: ixv0 attach returned 5 > ixv0: 1.4.6-k> at device 0.131 on pci12 > ixv0: Using MSIX interrupts with 2 vectors > ixv0: ixgbe_reset_hw() failed with error -100 > device_attach: ixv0 attach returned 5 > pci12: at device 0.133 (no driver attached) > pci12: at device 0.135 (no driver attached) > pci12: at device 0.137 (no driver attached) > pci12: at device 0.139 (no driver attached) > pci12: at device 0.141 (no driver attached) > pci12: at device 0.143 (no driver attached) > pci12: at device 0.145 (no driver attached) > pci12: at device 0.147 (no driver attached) > pci12: at device 0.149 (no driver attached) > pci12: at device 0.151 (no driver attached) > pci12: at device 0.153 (no driver attached) > pci12: at device 0.155 (no driver attached) > pci12: at device 0.157 (no driver attached) > pci12: at device 0.159 (no driver attached) > pci12: at device 0.161 (no driver attached) > pci12: at device 0.163 (no driver attached) > pci12: at device 0.165 (no driver attached) > pci12: at device 0.167 (no driver attached) > pci12: at device 0.169 (no driver attached) > pci12: at device 0.171 (no driver attached) > pci12: at device 0.173 (no driver attached) > pci12: at device 0.175 (no driver attached) > pci12: at device 0.177 (no driver attached) > pci12: at device 0.179 (no driver attached) > pci12: at device 0.181 (no driver attached) > pci12: at device 0.183 (no driver attached) > pci12: at device 0.185 (no driver attached) > pci12: at device 0.187 (no driver attached) > pci12: at device 0.189 (no driver attached) > > pciconf -lv > ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'Ethernet Controller 10-Gigabit X540-AT2' > class = network > subclass = ethernet > none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 > rev=0x01 hdr=0x00 > vendor = 'Intel Corporation' > device = 'X540 Ethernet Controller Virtual Function' > class = network > subclass = ethernet > > Ultima > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > From owner-freebsd-virtualization@freebsd.org Mon Feb 22 20:53:55 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2F6FCAB0FC2; Mon, 22 Feb 2016 20:53:55 +0000 (UTC) (envelope-from jeffrey.e.pieper@intel.com) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx1.freebsd.org (Postfix) with ESMTP id 0369C1D6B; Mon, 22 Feb 2016 20:53:54 +0000 (UTC) (envelope-from jeffrey.e.pieper@intel.com) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP; 22 Feb 2016 12:53:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,486,1449561600"; d="scan'208";a="892042241" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by orsmga001.jf.intel.com with ESMTP; 22 Feb 2016 12:53:48 -0800 Received: from orsmsx153.amr.corp.intel.com (10.22.226.247) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 22 Feb 2016 12:53:48 -0800 Received: from orsmsx111.amr.corp.intel.com ([169.254.12.9]) by ORSMSX153.amr.corp.intel.com ([169.254.12.170]) with mapi id 14.03.0248.002; Mon, 22 Feb 2016 12:53:47 -0800 From: "Pieper, Jeffrey E" To: Ultima , Eric Joyner CC: "freebsd-current@freebsd.org" , "freebsd-virtualization@freebsd.org" Subject: RE: sr-iov issues, reset_hw() failed with error -100 Thread-Topic: sr-iov issues, reset_hw() failed with error -100 Thread-Index: AQHRbawE8t/NRDwpiUa/C5k4Foam5p84irWw Date: Mon, 22 Feb 2016 20:53:46 +0000 Message-ID: <2A35EA60C3C77D438915767F458D656880942E9A@ORSMSX111.amr.corp.intel.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYjZkZGUyMGEtMmU0Yy00M2JmLThiY2MtOTVjMWZmN2FiNWUyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IlJJZUdWcHFLUW1xSHAzQndmOVY1dm5uZlwvcVhwOTBZSEhadEF2bHljN2hFPSJ9 x-ctpclassification: CTP_IC x-originating-ip: [10.22.254.138] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 20:53:55 -0000 Just out of curiosity, how many cores does your system have? Jeff -----Original Message----- From: owner-freebsd-current@freebsd.org [mailto:owner-freebsd-current@freeb= sd.org] On Behalf Of Ultima Sent: Monday, February 22, 2016 12:02 PM To: Eric Joyner Cc: freebsd-current@freebsd.org; freebsd-virtualization@freebsd.org Subject: Re: sr-iov issues, reset_hw() failed with error -100 After reboot... ifconfig ix1 up dhclient ix1 DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 4 DHCPOFFER from 192.168.1.1 DHCPREQUEST on ix1 to 255.255.255.255 port 67 DHCPACK from 192.168.1.1 bound to 192.168.1.145 -- renewal in 21600 seconds. ix0 down ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: icmp_seq=3D0 ttl=3D64 time=3D0.149 ms 64 bytes from 192.168.1.1: icmp_seq=3D1 ttl=3D64 time=3D0.171 ms 64 bytes from 192.168.1.1: icmp_seq=3D2 ttl=3D64 time=3D0.167 ms iovctl -Cf /etc/iovctl.conf ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes ^C --- 192.168.1.1 ping statistics --- 29 packets transmitted, 0 packets received, 100.0% packet loss ifconfig ix1 up ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes ^C --- 192.168.1.1 ping statistics --- 12 packets transmitted, 0 packets received, 100.0% packet loss ix1 is no longer usable until a restart... iovctl -Dd ix1 ifconfig ix1 up ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes ^C --- 192.168.1.1 ping statistics --- 9 packets transmitted, 0 packets received, 100.0% packet loss Is there anything else that maybe useful? here is my ifconfig at the end (after ifconfig ix0 up) ix0: flags=3D8943 metric 0 mtu 1500 options=3De400b9 ether -Hidden- inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255 inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=3D29 media: Ethernet autoselect (10Gbase-T ) status: active ix1: flags=3D8843 metric 0 mtu 1500 options=3De407bb ether -Hidden- inet 192.168.1.145 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=3D29 media: Ethernet autoselect (10Gbase-T ) status: active lo0: flags=3D8049 metric 0 mtu 16384 options=3D600003 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet 127.0.0.1 netmask 0xff000000 nd6 options=3D21 groups: lo bridge0: flags=3D8843 metric 0 mtu 1500 ether -Hidden- nd6 options=3D9 groups: bridge id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 member: ix0 flags=3D143 ifmaxaddr 0 port 1 priority 128 path cost 2000 member: epair0a flags=3D143 ifmaxaddr 0 port 5 priority 128 path cost 2000 epair0a: flags=3D8943 metri= c 0 mtu 1500 options=3D8 ether -Hidden- inet6 fe80::ff:70ff:fe00:50a%epair0a prefixlen 64 scopeid 0x5 nd6 options=3D21 media: Ethernet 10Gbase-T (10Gbase-T ) status: active groups: epair On Mon, Feb 22, 2016 at 1:51 PM, Eric Joyner wrote: > Did you do an ifconfig up on ix1 before loading the VF driver? > > On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: > >> Decided to do some testing with iovctl to see how sr-iov is coming alon= g. >> Currently when adding the vf's there are a couple errors, and the networ= k >> no longer function after iovctl is started. My guess is the reset_hw() >> call >> that is failing. Any ideas why this call would fail? I tested this on bo= th >> ports, ix1 is detached and unused for this test, however inserting a cab= le >> results in an unusable port. iovctl -Dd ix1 removes the vf's, however >> functionality is still not restored without a system restart. >> >> FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 >> 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 >> >> /boot/loader.conf >> hw.ix.num_queues=3D"4" >> >> /etc/iovctl.conf >> PF { >> device : ix1; >> num_vfs : 31; >> } >> >> DEFAULT { >> passthrough : true; >> } >> VF-0 { >> passthrough : false; >> } >> VF-1 { >> passthrough : false; >> } >> >> # iovctl -C -f /etc/iovctl.conf >> >> dmesg >> ixv0: > 1.4.6-k> at device 0.129 on pci12 >> ixv0: Using MSIX interrupts with 2 vectors >> ixv0: ixgbe_reset_hw() failed with error -100 >> device_attach: ixv0 attach returned 5 >> ixv0: > 1.4.6-k> at device 0.131 on pci12 >> ixv0: Using MSIX interrupts with 2 vectors >> ixv0: ixgbe_reset_hw() failed with error -100 >> device_attach: ixv0 attach returned 5 >> pci12: at device 0.133 (no driver attached) >> pci12: at device 0.135 (no driver attached) >> pci12: at device 0.137 (no driver attached) >> pci12: at device 0.139 (no driver attached) >> pci12: at device 0.141 (no driver attached) >> pci12: at device 0.143 (no driver attached) >> pci12: at device 0.145 (no driver attached) >> pci12: at device 0.147 (no driver attached) >> pci12: at device 0.149 (no driver attached) >> pci12: at device 0.151 (no driver attached) >> pci12: at device 0.153 (no driver attached) >> pci12: at device 0.155 (no driver attached) >> pci12: at device 0.157 (no driver attached) >> pci12: at device 0.159 (no driver attached) >> pci12: at device 0.161 (no driver attached) >> pci12: at device 0.163 (no driver attached) >> pci12: at device 0.165 (no driver attached) >> pci12: at device 0.167 (no driver attached) >> pci12: at device 0.169 (no driver attached) >> pci12: at device 0.171 (no driver attached) >> pci12: at device 0.173 (no driver attached) >> pci12: at device 0.175 (no driver attached) >> pci12: at device 0.177 (no driver attached) >> pci12: at device 0.179 (no driver attached) >> pci12: at device 0.181 (no driver attached) >> pci12: at device 0.183 (no driver attached) >> pci12: at device 0.185 (no driver attached) >> pci12: at device 0.187 (no driver attached) >> pci12: at device 0.189 (no driver attached) >> >> pciconf -lv >> ix1@pci0:129:0:1: class=3D0x020000 card=3D0x00001458 chip=3D0x1528= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'Ethernet Controller 10-Gigabit X540-AT2' >> class =3D network >> subclass =3D ethernet >> none155@pci0:129:0:129: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> none156@pci0:129:0:131: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt0@pci0:129:0:133: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt1@pci0:129:0:135: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt2@pci0:129:0:137: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt3@pci0:129:0:139: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt4@pci0:129:0:141: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt5@pci0:129:0:143: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt6@pci0:129:0:145: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt7@pci0:129:0:147: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt8@pci0:129:0:149: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt9@pci0:129:0:151: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt10@pci0:129:0:153: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt11@pci0:129:0:155: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt12@pci0:129:0:157: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt13@pci0:129:0:159: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt14@pci0:129:0:161: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt15@pci0:129:0:163: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt16@pci0:129:0:165: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt17@pci0:129:0:167: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt18@pci0:129:0:169: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt19@pci0:129:0:171: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt20@pci0:129:0:173: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt21@pci0:129:0:175: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt22@pci0:129:0:177: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt23@pci0:129:0:179: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt24@pci0:129:0:181: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt25@pci0:129:0:183: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt26@pci0:129:0:185: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt27@pci0:129:0:187: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> ppt28@pci0:129:0:189: class=3D0x020000 card=3D0x00001458 chip=3D0x1515= 8086 >> rev=3D0x01 hdr=3D0x00 >> vendor =3D 'Intel Corporation' >> device =3D 'X540 Ethernet Controller Virtual Function' >> class =3D network >> subclass =3D ethernet >> >> Ultima >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.or= g >> " >> > _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" From owner-freebsd-virtualization@freebsd.org Mon Feb 22 21:26:04 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D879AB1AC4; Mon, 22 Feb 2016 21:26:04 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x22e.google.com (mail-vk0-x22e.google.com [IPv6:2607:f8b0:400c:c05::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 349691086; Mon, 22 Feb 2016 21:26:04 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x22e.google.com with SMTP id e6so142641473vkh.2; Mon, 22 Feb 2016 13:26:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=ByBmCaRQnGSGM/kuo9uComN+9EKhujbQsM9zu+xVfr8=; b=JQe58m5obC+jcHtDeBcAVZ1DXXJxlmsdNHzv2EzE5R5wdByhy0Cr7ugYCY8LejOZZA Q/4/LtTYwLRMqJK9qryuXUSw0RD3Pc040hBsMuWPNL5HZsPKGv7ECuQdhWn+ZCgalGKm zW46n/8NjGN33hCxbLmY598DTOkJ/T2sndA7rr/HLJjiI3NXmaFvnSyGgAj51t4YhpzU JjVxD9QmMYWxCa1EwHbRVCSBvN3xN1THaKFs3Ve30Aj84PUoYxvwWoA6vW4x1Ri4gM26 CVkbFloMEmlHQFI2H2fmVATzDjaXPCOQJyubWki9XTLGZuovXpMn+M1eDutGnOPGE09E l1nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=ByBmCaRQnGSGM/kuo9uComN+9EKhujbQsM9zu+xVfr8=; b=DWhY7Ye3LKqK8o60Bq6wl67LtvCs9C/kPhoIQ2+lbD0/KsBtGm27oCYDZJLC2548Wp GwXj0TOIvqKRchvbyUfrLzPfS3LDrAVsu4xA9kQilURd1iA+VmPHxe/EgHGufAUquUM9 IWX/mJ5XKPIq8LSYBNGG1XT4ep3L7GTpAph3i4oqZPwmfpSC+hrUkl2NzHCZLPv6bQXf r3uNBXSMxxg6QKjJngc4gerg8bqd7BEbL4hln8sBCR7QlbxUdWBrV+QB62FqQUQntKvO UPuuV2jvxEKMaXeLSwlEGEI+3Anycr7sTAeJgNYLts36qMgIJ5w9iaXCfgLCXK2K2Ugl oLJw== X-Gm-Message-State: AG10YOTXVBUKHwIQmvL7h9MJBOhxZ4VmfoLQaH6Pon2mks+jrapmcqAcVnPlbM18euzd2jQ2Pi180gPlmeRJnA== MIME-Version: 1.0 X-Received: by 10.31.47.88 with SMTP id v85mr25320207vkv.118.1456176363163; Mon, 22 Feb 2016 13:26:03 -0800 (PST) Received: by 10.31.194.194 with HTTP; Mon, 22 Feb 2016 13:26:03 -0800 (PST) In-Reply-To: <2A35EA60C3C77D438915767F458D656880942E9A@ORSMSX111.amr.corp.intel.com> References: <2A35EA60C3C77D438915767F458D656880942E9A@ORSMSX111.amr.corp.intel.com> Date: Mon, 22 Feb 2016 16:26:03 -0500 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 From: Ultima To: "Pieper, Jeffrey E" Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 21:26:04 -0000 This system has 24 cores (e5-2670v3)x2 Ultima On Mon, Feb 22, 2016 at 3:53 PM, Pieper, Jeffrey E < jeffrey.e.pieper@intel.com> wrote: > Just out of curiosity, how many cores does your system have? > > Jeff > > -----Original Message----- > From: owner-freebsd-current@freebsd.org [mailto: > owner-freebsd-current@freebsd.org] On Behalf Of Ultima > Sent: Monday, February 22, 2016 12:02 PM > To: Eric Joyner > Cc: freebsd-current@freebsd.org; freebsd-virtualization@freebsd.org > Subject: Re: sr-iov issues, reset_hw() failed with error -100 > > After reboot... > > ifconfig ix1 up > > dhclient ix1 > DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 4 > DHCPOFFER from 192.168.1.1 > DHCPREQUEST on ix1 to 255.255.255.255 port 67 > DHCPACK from 192.168.1.1 > bound to 192.168.1.145 -- renewal in 21600 seconds. > > ix0 down > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.149 ms > 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.171 ms > 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.167 ms > > iovctl -Cf /etc/iovctl.conf > > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > ^C > --- 192.168.1.1 ping statistics --- > 29 packets transmitted, 0 packets received, 100.0% packet loss > ifconfig ix1 up > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > ^C > --- 192.168.1.1 ping statistics --- > 12 packets transmitted, 0 packets received, 100.0% packet loss > > ix1 is no longer usable until a restart... > > iovctl -Dd ix1 > ifconfig ix1 up > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > ^C > --- 192.168.1.1 ping statistics --- > 9 packets transmitted, 0 packets received, 100.0% packet loss > > > > Is there anything else that maybe useful? > > here is my ifconfig at the end (after ifconfig ix0 up) > > > ix0: flags=8943 metric 0 > mtu 1500 > > options=e400b9 > ether -Hidden- > inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255 > inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255 > nd6 options=29 > media: Ethernet autoselect (10Gbase-T ) > status: active > ix1: flags=8843 metric 0 mtu 1500 > > options=e407bb > ether -Hidden- > inet 192.168.1.145 netmask 0xffffff00 broadcast 192.168.1.255 > nd6 options=29 > media: Ethernet autoselect (10Gbase-T ) > status: active > lo0: flags=8049 metric 0 mtu 16384 > options=600003 > inet6 ::1 prefixlen 128 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 > inet 127.0.0.1 netmask 0xff000000 > nd6 options=21 > groups: lo > bridge0: flags=8843 metric 0 mtu > 1500 > ether -Hidden- > nd6 options=9 > groups: bridge > id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 > maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 > root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 > member: ix0 flags=143 > ifmaxaddr 0 port 1 priority 128 path cost 2000 > member: epair0a flags=143 > ifmaxaddr 0 port 5 priority 128 path cost 2000 > epair0a: flags=8943 metric > 0 mtu 1500 > options=8 > ether -Hidden- > inet6 fe80::ff:70ff:fe00:50a%epair0a prefixlen 64 scopeid 0x5 > nd6 options=21 > media: Ethernet 10Gbase-T (10Gbase-T ) > status: active > groups: epair > > On Mon, Feb 22, 2016 at 1:51 PM, Eric Joyner wrote: > > > Did you do an ifconfig up on ix1 before loading the VF driver? > > > > On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: > > > >> Decided to do some testing with iovctl to see how sr-iov is coming > along. > >> Currently when adding the vf's there are a couple errors, and the > network > >> no longer function after iovctl is started. My guess is the reset_hw() > >> call > >> that is failing. Any ideas why this call would fail? I tested this on > both > >> ports, ix1 is detached and unused for this test, however inserting a > cable > >> results in an unusable port. iovctl -Dd ix1 removes the vf's, however > >> functionality is still not restored without a system restart. > >> > >> FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 > >> 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 > >> > >> /boot/loader.conf > >> hw.ix.num_queues="4" > >> > >> /etc/iovctl.conf > >> PF { > >> device : ix1; > >> num_vfs : 31; > >> } > >> > >> DEFAULT { > >> passthrough : true; > >> } > >> VF-0 { > >> passthrough : false; > >> } > >> VF-1 { > >> passthrough : false; > >> } > >> > >> # iovctl -C -f /etc/iovctl.conf > >> > >> dmesg > >> ixv0: >> 1.4.6-k> at device 0.129 on pci12 > >> ixv0: Using MSIX interrupts with 2 vectors > >> ixv0: ixgbe_reset_hw() failed with error -100 > >> device_attach: ixv0 attach returned 5 > >> ixv0: >> 1.4.6-k> at device 0.131 on pci12 > >> ixv0: Using MSIX interrupts with 2 vectors > >> ixv0: ixgbe_reset_hw() failed with error -100 > >> device_attach: ixv0 attach returned 5 > >> pci12: at device 0.133 (no driver attached) > >> pci12: at device 0.135 (no driver attached) > >> pci12: at device 0.137 (no driver attached) > >> pci12: at device 0.139 (no driver attached) > >> pci12: at device 0.141 (no driver attached) > >> pci12: at device 0.143 (no driver attached) > >> pci12: at device 0.145 (no driver attached) > >> pci12: at device 0.147 (no driver attached) > >> pci12: at device 0.149 (no driver attached) > >> pci12: at device 0.151 (no driver attached) > >> pci12: at device 0.153 (no driver attached) > >> pci12: at device 0.155 (no driver attached) > >> pci12: at device 0.157 (no driver attached) > >> pci12: at device 0.159 (no driver attached) > >> pci12: at device 0.161 (no driver attached) > >> pci12: at device 0.163 (no driver attached) > >> pci12: at device 0.165 (no driver attached) > >> pci12: at device 0.167 (no driver attached) > >> pci12: at device 0.169 (no driver attached) > >> pci12: at device 0.171 (no driver attached) > >> pci12: at device 0.173 (no driver attached) > >> pci12: at device 0.175 (no driver attached) > >> pci12: at device 0.177 (no driver attached) > >> pci12: at device 0.179 (no driver attached) > >> pci12: at device 0.181 (no driver attached) > >> pci12: at device 0.183 (no driver attached) > >> pci12: at device 0.185 (no driver attached) > >> pci12: at device 0.187 (no driver attached) > >> pci12: at device 0.189 (no driver attached) > >> > >> pciconf -lv > >> ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'Ethernet Controller 10-Gigabit X540-AT2' > >> class = network > >> subclass = ethernet > >> none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 > >> rev=0x01 hdr=0x00 > >> vendor = 'Intel Corporation' > >> device = 'X540 Ethernet Controller Virtual Function' > >> class = network > >> subclass = ethernet > >> > >> Ultima > >> _______________________________________________ > >> freebsd-current@freebsd.org mailing list > >> https://lists.freebsd.org/mailman/listinfo/freebsd-current > >> To unsubscribe, send any mail to " > freebsd-current-unsubscribe@freebsd.org > >> " > >> > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > From owner-freebsd-virtualization@freebsd.org Mon Feb 22 21:47:59 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9FF3AB04F1; Mon, 22 Feb 2016 21:47:58 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x22c.google.com (mail-vk0-x22c.google.com [IPv6:2607:f8b0:400c:c05::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 879841F88; Mon, 22 Feb 2016 21:47:58 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x22c.google.com with SMTP id e185so143138010vkb.1; Mon, 22 Feb 2016 13:47:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=10odizUKmVzGCYfb95/P7kk2p8tg52fBuHAxUBBKwpU=; b=tCw9G6P0hiSSWVy8EKctsO8b9d2nZbIIrxfLYs27UJSHElpPb/aaMqoLXU4GPbFyub igl19u1t5oOfRcKQVAcrsLaUqo5Om4kUrD1Y5PgRudHFxwLurIa5E87mQb8KB+uqkNDa lUcpIBZNVMcPFNwnC+4IXqrhDjiTwb1ZuSJQ0G4bFohj+ADP7cyH3rTgfh9gIEjY8SpF 9gsxVFOjVxomJIYI8Uq1lEthGrhTDHZoaKHMZ4aQb/Zf6ZS0v9+MGpbdM/GPzP8lNZSK HkGyP7o3YYLmZo0nbt9eworxIcH0/CukAYUH9VrXZ1Wi7FeGnv8IXVIB9C1aXOEsBzd8 BcLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=10odizUKmVzGCYfb95/P7kk2p8tg52fBuHAxUBBKwpU=; b=Sx4jVI42AXP10MbCFdLB1kCpt4IgmaS6XUAq88BxJv0HgQB0pdWqz1H0wzK2ssLUEX O3yLxu7S1Vpen8KIGD6hLyYBpzYUXgo5c/G4fta1LXJK84qe3vLoALcXNbKAAaF4H7J1 qRyzm4qvAYLEEAetHU9/hvQaWhA9LaLBbKZS3yqbLNmTtdGT3SON5SzV22d6D3wagd4z MOjwN3aiXqIRUBj2Y+zOgExCyunq6Qj6YiHbVXDBddVlFOQRmGR79XDEYtZLO4+GgIJf OXyZUyuTCew1tVEUk1ghkzJVXvzwxBEeP/IUSTvpmVlIvRAVaLbIk8ezBGBu57KOPO9w QCGA== X-Gm-Message-State: AG10YOS7X26MZZBGuEp0r2JjRhrRQTsN3aUVSForcKuC9cFkO92in7ykLzfrzr29kx5O8nwmPvEft82XD7aUTw== MIME-Version: 1.0 X-Received: by 10.31.180.85 with SMTP id d82mr21468466vkf.83.1456177677339; Mon, 22 Feb 2016 13:47:57 -0800 (PST) Received: by 10.31.194.194 with HTTP; Mon, 22 Feb 2016 13:47:57 -0800 (PST) In-Reply-To: <56CB7F3D.2010607@multiplay.co.uk> References: <2A35EA60C3C77D438915767F458D656880942E9A@ORSMSX111.amr.corp.intel.com> <56CB7F3D.2010607@multiplay.co.uk> Date: Mon, 22 Feb 2016 16:47:57 -0500 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 From: Ultima To: Steven Hartland Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 21:47:59 -0000 Yeah, dmesg does show 48. 12 Cores and 24 threads each. 48 total On Mon, Feb 22, 2016 at 4:35 PM, Steven Hartland wrote: > isn't that 48 cores (12 real 12 virtual) per CPU? > > > On 22/02/2016 21:26, Ultima wrote: > >> This system has 24 cores (e5-2670v3)x2 >> >> Ultima >> >> On Mon, Feb 22, 2016 at 3:53 PM, Pieper, Jeffrey E < >> jeffrey.e.pieper@intel.com> wrote: >> >> Just out of curiosity, how many cores does your system have? >>> >>> Jeff >>> >>> -----Original Message----- >>> From: owner-freebsd-current@freebsd.org [mailto: >>> owner-freebsd-current@freebsd.org] On Behalf Of Ultima >>> Sent: Monday, February 22, 2016 12:02 PM >>> To: Eric Joyner >>> Cc: freebsd-current@freebsd.org; freebsd-virtualization@freebsd.org >>> Subject: Re: sr-iov issues, reset_hw() failed with error -100 >>> >>> After reboot... >>> >>> ifconfig ix1 up >>> >>> dhclient ix1 >>> DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 4 >>> DHCPOFFER from 192.168.1.1 >>> DHCPREQUEST on ix1 to 255.255.255.255 port 67 >>> DHCPACK from 192.168.1.1 >>> bound to 192.168.1.145 -- renewal in 21600 seconds. >>> >>> ix0 down >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.149 ms >>> 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.171 ms >>> 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.167 ms >>> >>> iovctl -Cf /etc/iovctl.conf >>> >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> ^C >>> --- 192.168.1.1 ping statistics --- >>> 29 packets transmitted, 0 packets received, 100.0% packet loss >>> ifconfig ix1 up >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> ^C >>> --- 192.168.1.1 ping statistics --- >>> 12 packets transmitted, 0 packets received, 100.0% packet loss >>> >>> ix1 is no longer usable until a restart... >>> >>> iovctl -Dd ix1 >>> ifconfig ix1 up >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> ^C >>> --- 192.168.1.1 ping statistics --- >>> 9 packets transmitted, 0 packets received, 100.0% packet loss >>> >>> >>> >>> Is there anything else that maybe useful? >>> >>> here is my ifconfig at the end (after ifconfig ix0 up) >>> >>> >>> ix0: flags=8943 metric 0 >>> mtu 1500 >>> >>> >>> options=e400b9 >>> ether -Hidden- >>> inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255 >>> inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255 >>> nd6 options=29 >>> media: Ethernet autoselect (10Gbase-T ) >>> status: active >>> ix1: flags=8843 metric 0 mtu 1500 >>> >>> >>> options=e407bb >>> ether -Hidden- >>> inet 192.168.1.145 netmask 0xffffff00 broadcast 192.168.1.255 >>> nd6 options=29 >>> media: Ethernet autoselect (10Gbase-T ) >>> status: active >>> lo0: flags=8049 metric 0 mtu 16384 >>> options=600003 >>> inet6 ::1 prefixlen 128 >>> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 >>> inet 127.0.0.1 netmask 0xff000000 >>> nd6 options=21 >>> groups: lo >>> bridge0: flags=8843 metric 0 mtu >>> 1500 >>> ether -Hidden- >>> nd6 options=9 >>> groups: bridge >>> id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 >>> maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 >>> root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 >>> member: ix0 flags=143 >>> ifmaxaddr 0 port 1 priority 128 path cost 2000 >>> member: epair0a flags=143 >>> ifmaxaddr 0 port 5 priority 128 path cost 2000 >>> epair0a: flags=8943 >>> metric >>> 0 mtu 1500 >>> options=8 >>> ether -Hidden- >>> inet6 fe80::ff:70ff:fe00:50a%epair0a prefixlen 64 scopeid 0x5 >>> nd6 options=21 >>> media: Ethernet 10Gbase-T (10Gbase-T ) >>> status: active >>> groups: epair >>> >>> On Mon, Feb 22, 2016 at 1:51 PM, Eric Joyner wrote: >>> >>> Did you do an ifconfig up on ix1 before loading the VF driver? >>>> >>>> On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: >>>> >>>> Decided to do some testing with iovctl to see how sr-iov is coming >>>>> >>>> along. >>> >>>> Currently when adding the vf's there are a couple errors, and the >>>>> >>>> network >>> >>>> no longer function after iovctl is started. My guess is the reset_hw() >>>>> call >>>>> that is failing. Any ideas why this call would fail? I tested this on >>>>> >>>> both >>> >>>> ports, ix1 is detached and unused for this test, however inserting a >>>>> >>>> cable >>> >>>> results in an unusable port. iovctl -Dd ix1 removes the vf's, however >>>>> functionality is still not restored without a system restart. >>>>> >>>>> FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 >>>>> 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 >>>>> >>>>> /boot/loader.conf >>>>> hw.ix.num_queues="4" >>>>> >>>>> /etc/iovctl.conf >>>>> PF { >>>>> device : ix1; >>>>> num_vfs : 31; >>>>> } >>>>> >>>>> DEFAULT { >>>>> passthrough : true; >>>>> } >>>>> VF-0 { >>>>> passthrough : false; >>>>> } >>>>> VF-1 { >>>>> passthrough : false; >>>>> } >>>>> >>>>> # iovctl -C -f /etc/iovctl.conf >>>>> >>>>> dmesg >>>>> ixv0: >>>> 1.4.6-k> at device 0.129 on pci12 >>>>> ixv0: Using MSIX interrupts with 2 vectors >>>>> ixv0: ixgbe_reset_hw() failed with error -100 >>>>> device_attach: ixv0 attach returned 5 >>>>> ixv0: >>>> 1.4.6-k> at device 0.131 on pci12 >>>>> ixv0: Using MSIX interrupts with 2 vectors >>>>> ixv0: ixgbe_reset_hw() failed with error -100 >>>>> device_attach: ixv0 attach returned 5 >>>>> pci12: at device 0.133 (no driver attached) >>>>> pci12: at device 0.135 (no driver attached) >>>>> pci12: at device 0.137 (no driver attached) >>>>> pci12: at device 0.139 (no driver attached) >>>>> pci12: at device 0.141 (no driver attached) >>>>> pci12: at device 0.143 (no driver attached) >>>>> pci12: at device 0.145 (no driver attached) >>>>> pci12: at device 0.147 (no driver attached) >>>>> pci12: at device 0.149 (no driver attached) >>>>> pci12: at device 0.151 (no driver attached) >>>>> pci12: at device 0.153 (no driver attached) >>>>> pci12: at device 0.155 (no driver attached) >>>>> pci12: at device 0.157 (no driver attached) >>>>> pci12: at device 0.159 (no driver attached) >>>>> pci12: at device 0.161 (no driver attached) >>>>> pci12: at device 0.163 (no driver attached) >>>>> pci12: at device 0.165 (no driver attached) >>>>> pci12: at device 0.167 (no driver attached) >>>>> pci12: at device 0.169 (no driver attached) >>>>> pci12: at device 0.171 (no driver attached) >>>>> pci12: at device 0.173 (no driver attached) >>>>> pci12: at device 0.175 (no driver attached) >>>>> pci12: at device 0.177 (no driver attached) >>>>> pci12: at device 0.179 (no driver attached) >>>>> pci12: at device 0.181 (no driver attached) >>>>> pci12: at device 0.183 (no driver attached) >>>>> pci12: at device 0.185 (no driver attached) >>>>> pci12: at device 0.187 (no driver attached) >>>>> pci12: at device 0.189 (no driver attached) >>>>> >>>>> pciconf -lv >>>>> ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'Ethernet Controller 10-Gigabit X540-AT2' >>>>> class = network >>>>> subclass = ethernet >>>>> none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> >>>>> Ultima >>>>> _______________________________________________ >>>>> freebsd-current@freebsd.org mailing list >>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>>>> To unsubscribe, send any mail to " >>>>> >>>> freebsd-current-unsubscribe@freebsd.org >>> >>>> " >>>>> >>>>> _______________________________________________ >>> freebsd-current@freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to " >>> freebsd-current-unsubscribe@freebsd.org" >>> >>> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org >> " >> > > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > From owner-freebsd-virtualization@freebsd.org Tue Feb 23 01:53:05 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BFFD9AB08B5; Tue, 23 Feb 2016 01:53:05 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: from mail-qg0-f54.google.com (mail-qg0-f54.google.com [209.85.192.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7BC2D1645; Tue, 23 Feb 2016 01:53:05 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: by mail-qg0-f54.google.com with SMTP id b67so126483572qgb.1; Mon, 22 Feb 2016 17:53:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-type; bh=nyWs5ZwGn8IJSuZsKqUPFPGIPssreYdjm7HGg9g3h5o=; b=WfcQDklg5zH/v8Jz/feJTL7dZOGslTc+tI71jFoxHdWRg5HYAd3RKU61UYSgg/ES53 EnT87M/qHUBjj04lYcu5r2c5Lxq0AKcEPM9p5WvtVJUgwsRPJ2QNbXP1LcAoFUJ00B3s 4Oqq5eGizJeaL/7/B/Ei7VM0gtp2YHOf71wsqPGH1AL7o5ti5h/xL/TlE7OTNaCNeR47 ev0OEVEKLJyDMm0dAgrDfizlD9Rg3Q3TxvI0UL0fi/f1JQ1DyUpfdHzy0mbtklrR2E2K Z8pjUBVPjSN1YiHYbcnVJIJBhRzcRYNWIvUadFRRWWVh9cSIwx9EEJpkwXMMSvH4TY3o euAw== X-Gm-Message-State: AG10YOQlVL/G3wGJgCUc41URO1165tOLdH67SBkfzqs3xKfOXXlX8wX6SvHSvyxzeiRwDg== X-Received: by 10.140.29.202 with SMTP id b68mr37850635qgb.100.1456192383973; Mon, 22 Feb 2016 17:53:03 -0800 (PST) Received: from mail-qg0-f45.google.com (mail-qg0-f45.google.com. [209.85.192.45]) by smtp.gmail.com with ESMTPSA id o60sm7686693qge.34.2016.02.22.17.53.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Feb 2016 17:53:03 -0800 (PST) Received: by mail-qg0-f45.google.com with SMTP id y89so126302946qge.2; Mon, 22 Feb 2016 17:53:03 -0800 (PST) X-Received: by 10.140.102.142 with SMTP id w14mr29926361qge.58.1456192383403; Mon, 22 Feb 2016 17:53:03 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Eric Joyner Date: Tue, 23 Feb 2016 01:52:53 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 To: Ultima Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Feb 2016 01:53:05 -0000 I don't really have any ideas on the error -100. Error -100 means there was a mailbox error, so something failed in the initial communications setup between the PF and VF, but I don't know what exactly went wrong. I'm grasping at straws, but try using a smaller number of VFs initially, like 2? And check to see if VT-d is enabled in your BIOS? (Though I would've expected iovctl to fail). - Eric On Mon, Feb 22, 2016 at 12:01 PM Ultima wrote: > After reboot... > > ifconfig ix1 up > > dhclient ix1 > DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 4 > DHCPOFFER from 192.168.1.1 > DHCPREQUEST on ix1 to 255.255.255.255 port 67 > DHCPACK from 192.168.1.1 > bound to 192.168.1.145 -- renewal in 21600 seconds. > > ix0 down > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.149 ms > 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.171 ms > 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.167 ms > > iovctl -Cf /etc/iovctl.conf > > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > ^C > --- 192.168.1.1 ping statistics --- > 29 packets transmitted, 0 packets received, 100.0% packet loss > ifconfig ix1 up > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > ^C > --- 192.168.1.1 ping statistics --- > 12 packets transmitted, 0 packets received, 100.0% packet loss > > ix1 is no longer usable until a restart... > > iovctl -Dd ix1 > ifconfig ix1 up > ping 192.168.1.1 > PING 192.168.1.1 (192.168.1.1): 56 data bytes > ^C > --- 192.168.1.1 ping statistics --- > 9 packets transmitted, 0 packets received, 100.0% packet loss > > > > Is there anything else that maybe useful? > > here is my ifconfig at the end (after ifconfig ix0 up) > > > ix0: flags=8943 metric 0 > mtu 1500 > > options=e400b9 > ether -Hidden- > inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255 > inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255 > nd6 options=29 > media: Ethernet autoselect (10Gbase-T ) > status: active > ix1: flags=8843 metric 0 mtu 1500 > > options=e407bb > ether -Hidden- > inet 192.168.1.145 netmask 0xffffff00 broadcast 192.168.1.255 > nd6 options=29 > media: Ethernet autoselect (10Gbase-T ) > status: active > lo0: flags=8049 metric 0 mtu 16384 > options=600003 > inet6 ::1 prefixlen 128 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 > inet 127.0.0.1 netmask 0xff000000 > nd6 options=21 > groups: lo > bridge0: flags=8843 metric 0 mtu > 1500 > ether -Hidden- > nd6 options=9 > groups: bridge > id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 > maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 > root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 > member: ix0 flags=143 > ifmaxaddr 0 port 1 priority 128 path cost 2000 > member: epair0a flags=143 > ifmaxaddr 0 port 5 priority 128 path cost 2000 > epair0a: flags=8943 metric > 0 mtu 1500 > options=8 > ether -Hidden- > inet6 fe80::ff:70ff:fe00:50a%epair0a prefixlen 64 scopeid 0x5 > nd6 options=21 > media: Ethernet 10Gbase-T (10Gbase-T ) > status: active > groups: epair > > On Mon, Feb 22, 2016 at 1:51 PM, Eric Joyner wrote: > >> Did you do an ifconfig up on ix1 before loading the VF driver? >> >> On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: >> >>> Decided to do some testing with iovctl to see how sr-iov is coming >>> along. >>> Currently when adding the vf's there are a couple errors, and the network >>> no longer function after iovctl is started. My guess is the reset_hw() >>> call >>> that is failing. Any ideas why this call would fail? I tested this on >>> both >>> ports, ix1 is detached and unused for this test, however inserting a >>> cable >>> results in an unusable port. iovctl -Dd ix1 removes the vf's, however >>> functionality is still not restored without a system restart. >>> >>> FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 >>> 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 >>> >>> /boot/loader.conf >>> hw.ix.num_queues="4" >>> >>> /etc/iovctl.conf >>> PF { >>> device : ix1; >>> num_vfs : 31; >>> } >>> >>> DEFAULT { >>> passthrough : true; >>> } >>> VF-0 { >>> passthrough : false; >>> } >>> VF-1 { >>> passthrough : false; >>> } >>> >>> # iovctl -C -f /etc/iovctl.conf >>> >>> dmesg >>> ixv0: >> 1.4.6-k> at device 0.129 on pci12 >>> ixv0: Using MSIX interrupts with 2 vectors >>> ixv0: ixgbe_reset_hw() failed with error -100 >>> device_attach: ixv0 attach returned 5 >>> ixv0: >> 1.4.6-k> at device 0.131 on pci12 >>> ixv0: Using MSIX interrupts with 2 vectors >>> ixv0: ixgbe_reset_hw() failed with error -100 >>> device_attach: ixv0 attach returned 5 >>> pci12: at device 0.133 (no driver attached) >>> pci12: at device 0.135 (no driver attached) >>> pci12: at device 0.137 (no driver attached) >>> pci12: at device 0.139 (no driver attached) >>> pci12: at device 0.141 (no driver attached) >>> pci12: at device 0.143 (no driver attached) >>> pci12: at device 0.145 (no driver attached) >>> pci12: at device 0.147 (no driver attached) >>> pci12: at device 0.149 (no driver attached) >>> pci12: at device 0.151 (no driver attached) >>> pci12: at device 0.153 (no driver attached) >>> pci12: at device 0.155 (no driver attached) >>> pci12: at device 0.157 (no driver attached) >>> pci12: at device 0.159 (no driver attached) >>> pci12: at device 0.161 (no driver attached) >>> pci12: at device 0.163 (no driver attached) >>> pci12: at device 0.165 (no driver attached) >>> pci12: at device 0.167 (no driver attached) >>> pci12: at device 0.169 (no driver attached) >>> pci12: at device 0.171 (no driver attached) >>> pci12: at device 0.173 (no driver attached) >>> pci12: at device 0.175 (no driver attached) >>> pci12: at device 0.177 (no driver attached) >>> pci12: at device 0.179 (no driver attached) >>> pci12: at device 0.181 (no driver attached) >>> pci12: at device 0.183 (no driver attached) >>> pci12: at device 0.185 (no driver attached) >>> pci12: at device 0.187 (no driver attached) >>> pci12: at device 0.189 (no driver attached) >>> >>> pciconf -lv >>> ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'Ethernet Controller 10-Gigabit X540-AT2' >>> class = network >>> subclass = ethernet >>> none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 >>> rev=0x01 hdr=0x00 >>> vendor = 'Intel Corporation' >>> device = 'X540 Ethernet Controller Virtual Function' >>> class = network >>> subclass = ethernet >>> >>> Ultima >>> _______________________________________________ >>> freebsd-current@freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to " >>> freebsd-current-unsubscribe@freebsd.org" >>> >> > From owner-freebsd-virtualization@freebsd.org Tue Feb 23 02:46:49 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A43FAB1D9A; Tue, 23 Feb 2016 02:46:49 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x233.google.com (mail-vk0-x233.google.com [IPv6:2607:f8b0:400c:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1871E11F6; Tue, 23 Feb 2016 02:46:49 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x233.google.com with SMTP id k196so150230508vka.0; Mon, 22 Feb 2016 18:46:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=BEjjlfD3sJgT9KxPNrwvNbEv5VCJVZGM2tRQy/tpVsQ=; b=J/6jRojdvFSogB4uI/2w+OW/IFvQWf3vVWIjNOPikOZj/BSqqtTFewL8tvagphFZyr DivIByQaZs1yHu9MMlvJfk/SER4aHKch2vgV2YOLPOFZLokfOErNI1qpWKufySwt7pCs Q3Hdq+CEYTqa2LwcQOnu53K3VJRgms4pdESlxHj+a0dMRnOlTNUqzjq4K60G0nXwNlco DEW1pDvG7tXqUDzakUdl/P6P05qYSj5gAjgEmghifT47t4JLeOuArEoAJN7xZve4FEDr eb8obnrv9HYNHI3smlDWzzOEeYmtMWfnLkaSIt42Lxp4eROpJiCxjn3UsVYuhzUY9knY 4Rdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=BEjjlfD3sJgT9KxPNrwvNbEv5VCJVZGM2tRQy/tpVsQ=; b=eGUMEoP21CzFyOXbMvt6zbU4jvhtlXYb4ebOyTStK/U50XIwkjh+iunCD9OCqHm5lY UffDIS4UNmZDAhiWIwU7nEj5LwxX+ng7qTg8aVNCvX4bjw1v9qLnuYhBdQd5dW7HwPsM Qyzd7qn6HwsCTsWL+zh6KCYygsl1R4Cyn5i2+19RJ/As3FhOgBDxbtQUnOaWjNZqCl39 iNfknp1WJd2HFEleNZI16kTYRZuA7XGZSMoKJN34QvQPUAXTIRXTOmnE2zAFVZuYXcbv cK1JCcQ/c9M1Capg/Pz6o09ca6RnI8ib19EHc5zG1tXbBNfq/b52ArQCl3C3HBRNlU/l gBpw== X-Gm-Message-State: AG10YOTuBX3GZ21zCwxqOWNV8tycgY/XMzw6KgXfUOXJpg6UK5yWhj/SG0ntL3bg//5m2DZCGHZ6sXZSYw3DnQ== MIME-Version: 1.0 X-Received: by 10.31.34.67 with SMTP id i64mr17376383vki.140.1456195608015; Mon, 22 Feb 2016 18:46:48 -0800 (PST) Received: by 10.31.194.194 with HTTP; Mon, 22 Feb 2016 18:46:47 -0800 (PST) In-Reply-To: References: Date: Mon, 22 Feb 2016 21:46:47 -0500 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 From: Ultima To: Eric Joyner Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Feb 2016 02:46:49 -0000 I forgot to mention my kernel conf.... I'm not sure if it would cause this issue, but I'll test again with GENERIC. --- /usr/src/sys/amd64/conf/GENERIC 2016-02-22 21:05:37.152953000 -0500 +++ /root/MYKERNEL-11-CURRENT-AMD64 2015-12-28 19:18:22.893391452 -0500 @@ -91,6 +91,12 @@ options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones +### VIMAGE ### +options VIMAGE + +### ROUTE TABLES ### +options ROUTETABLES=2 + # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel The interface is just dead after creating the vf's earlier. Recreating with only 2, its still dead. Running out of ideas, decided to try a tcpdump... # dhclient ix1 DHCPREQUEST on ix1 to 255.255.255.255 port 67 DHCPREQUEST on ix1 to 255.255.255.255 port 67 DHCPREQUEST on ix1 to 255.255.255.255 port 67 DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 7 DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 13 DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 14 # tcpdump -i ix1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ix1, link-type EN10MB (Ethernet), capture size 262144 bytes 21:41:13.234688 IP 192.168.1.145.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 21:41:16.236671 IP 192.168.1.145.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 21:41:23.243242 IP 192.168.1.145.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 21:41:38.261015 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 21:41:45.284752 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 21:41:58.292223 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 I don't think this is that helpful tho. =/ tcpdump on the other end, the packets are never received. I'v already double checked VT-d, but I'll make it tripple! =] I can't reset the system right now, but ill send an update when possible with only 2 vf's and unmodified generic. Ultima On Mon, Feb 22, 2016 at 8:52 PM, Eric Joyner wrote: > I don't really have any ideas on the error -100. Error -100 means there > was a mailbox error, so something failed in the initial communications > setup between the PF and VF, but I don't know what exactly went wrong. > > I'm grasping at straws, but try using a smaller number of VFs initially, > like 2? And check to see if VT-d is enabled in your BIOS? (Though I > would've expected iovctl to fail). > > - Eric > > > On Mon, Feb 22, 2016 at 12:01 PM Ultima wrote: > >> After reboot... >> >> ifconfig ix1 up >> >> dhclient ix1 >> DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 4 >> DHCPOFFER from 192.168.1.1 >> DHCPREQUEST on ix1 to 255.255.255.255 port 67 >> DHCPACK from 192.168.1.1 >> bound to 192.168.1.145 -- renewal in 21600 seconds. >> >> ix0 down >> ping 192.168.1.1 >> PING 192.168.1.1 (192.168.1.1): 56 data bytes >> 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.149 ms >> 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.171 ms >> 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.167 ms >> >> iovctl -Cf /etc/iovctl.conf >> >> ping 192.168.1.1 >> PING 192.168.1.1 (192.168.1.1): 56 data bytes >> ^C >> --- 192.168.1.1 ping statistics --- >> 29 packets transmitted, 0 packets received, 100.0% packet loss >> ifconfig ix1 up >> ping 192.168.1.1 >> PING 192.168.1.1 (192.168.1.1): 56 data bytes >> ^C >> --- 192.168.1.1 ping statistics --- >> 12 packets transmitted, 0 packets received, 100.0% packet loss >> >> ix1 is no longer usable until a restart... >> >> iovctl -Dd ix1 >> ifconfig ix1 up >> ping 192.168.1.1 >> PING 192.168.1.1 (192.168.1.1): 56 data bytes >> ^C >> --- 192.168.1.1 ping statistics --- >> 9 packets transmitted, 0 packets received, 100.0% packet loss >> >> >> >> Is there anything else that maybe useful? >> >> here is my ifconfig at the end (after ifconfig ix0 up) >> >> >> ix0: flags=8943 metric 0 >> mtu 1500 >> >> options=e400b9 >> ether -Hidden- >> inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255 >> inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255 >> nd6 options=29 >> media: Ethernet autoselect (10Gbase-T ) >> status: active >> ix1: flags=8843 metric 0 mtu 1500 >> >> options=e407bb >> ether -Hidden- >> inet 192.168.1.145 netmask 0xffffff00 broadcast 192.168.1.255 >> nd6 options=29 >> media: Ethernet autoselect (10Gbase-T ) >> status: active >> lo0: flags=8049 metric 0 mtu 16384 >> options=600003 >> inet6 ::1 prefixlen 128 >> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 >> inet 127.0.0.1 netmask 0xff000000 >> nd6 options=21 >> groups: lo >> bridge0: flags=8843 metric 0 mtu >> 1500 >> ether -Hidden- >> nd6 options=9 >> groups: bridge >> id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 >> maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 >> root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 >> member: ix0 flags=143 >> ifmaxaddr 0 port 1 priority 128 path cost 2000 >> member: epair0a flags=143 >> ifmaxaddr 0 port 5 priority 128 path cost 2000 >> epair0a: flags=8943 >> metric 0 mtu 1500 >> options=8 >> ether -Hidden- >> inet6 fe80::ff:70ff:fe00:50a%epair0a prefixlen 64 scopeid 0x5 >> nd6 options=21 >> media: Ethernet 10Gbase-T (10Gbase-T ) >> status: active >> groups: epair >> >> On Mon, Feb 22, 2016 at 1:51 PM, Eric Joyner wrote: >> >>> Did you do an ifconfig up on ix1 before loading the VF driver? >>> >>> On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: >>> >>>> Decided to do some testing with iovctl to see how sr-iov is coming >>>> along. >>>> Currently when adding the vf's there are a couple errors, and the >>>> network >>>> no longer function after iovctl is started. My guess is the reset_hw() >>>> call >>>> that is failing. Any ideas why this call would fail? I tested this on >>>> both >>>> ports, ix1 is detached and unused for this test, however inserting a >>>> cable >>>> results in an unusable port. iovctl -Dd ix1 removes the vf's, however >>>> functionality is still not restored without a system restart. >>>> >>>> FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 >>>> 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 >>>> >>>> /boot/loader.conf >>>> hw.ix.num_queues="4" >>>> >>>> /etc/iovctl.conf >>>> PF { >>>> device : ix1; >>>> num_vfs : 31; >>>> } >>>> >>>> DEFAULT { >>>> passthrough : true; >>>> } >>>> VF-0 { >>>> passthrough : false; >>>> } >>>> VF-1 { >>>> passthrough : false; >>>> } >>>> >>>> # iovctl -C -f /etc/iovctl.conf >>>> >>>> dmesg >>>> ixv0: >>> 1.4.6-k> at device 0.129 on pci12 >>>> ixv0: Using MSIX interrupts with 2 vectors >>>> ixv0: ixgbe_reset_hw() failed with error -100 >>>> device_attach: ixv0 attach returned 5 >>>> ixv0: >>> 1.4.6-k> at device 0.131 on pci12 >>>> ixv0: Using MSIX interrupts with 2 vectors >>>> ixv0: ixgbe_reset_hw() failed with error -100 >>>> device_attach: ixv0 attach returned 5 >>>> pci12: at device 0.133 (no driver attached) >>>> pci12: at device 0.135 (no driver attached) >>>> pci12: at device 0.137 (no driver attached) >>>> pci12: at device 0.139 (no driver attached) >>>> pci12: at device 0.141 (no driver attached) >>>> pci12: at device 0.143 (no driver attached) >>>> pci12: at device 0.145 (no driver attached) >>>> pci12: at device 0.147 (no driver attached) >>>> pci12: at device 0.149 (no driver attached) >>>> pci12: at device 0.151 (no driver attached) >>>> pci12: at device 0.153 (no driver attached) >>>> pci12: at device 0.155 (no driver attached) >>>> pci12: at device 0.157 (no driver attached) >>>> pci12: at device 0.159 (no driver attached) >>>> pci12: at device 0.161 (no driver attached) >>>> pci12: at device 0.163 (no driver attached) >>>> pci12: at device 0.165 (no driver attached) >>>> pci12: at device 0.167 (no driver attached) >>>> pci12: at device 0.169 (no driver attached) >>>> pci12: at device 0.171 (no driver attached) >>>> pci12: at device 0.173 (no driver attached) >>>> pci12: at device 0.175 (no driver attached) >>>> pci12: at device 0.177 (no driver attached) >>>> pci12: at device 0.179 (no driver attached) >>>> pci12: at device 0.181 (no driver attached) >>>> pci12: at device 0.183 (no driver attached) >>>> pci12: at device 0.185 (no driver attached) >>>> pci12: at device 0.187 (no driver attached) >>>> pci12: at device 0.189 (no driver attached) >>>> >>>> pciconf -lv >>>> ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'Ethernet Controller 10-Gigabit X540-AT2' >>>> class = network >>>> subclass = ethernet >>>> none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 >>>> rev=0x01 hdr=0x00 >>>> vendor = 'Intel Corporation' >>>> device = 'X540 Ethernet Controller Virtual Function' >>>> class = network >>>> subclass = ethernet >>>> >>>> Ultima >>>> _______________________________________________ >>>> freebsd-current@freebsd.org mailing list >>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>>> To unsubscribe, send any mail to " >>>> freebsd-current-unsubscribe@freebsd.org" >>>> >>> >> From owner-freebsd-virtualization@freebsd.org Tue Feb 23 08:03:16 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22B85AB1199 for ; Tue, 23 Feb 2016 08:03:16 +0000 (UTC) (envelope-from bouncer@me22564.mailengine1.com) Received: from me22564.mailengine1.com (me22564.mailengine1.com [72.19.229.130]) by mx1.freebsd.org (Postfix) with ESMTP id 8E5D31A29 for ; Tue, 23 Feb 2016 08:03:05 +0000 (UTC) (envelope-from bouncer@me22564.mailengine1.com) Received: by me22564.mailengine1.com (PowerMTA(TM) v3.5r14) id hpg93i0j0pku for ; Tue, 23 Feb 2016 00:01:53 -0800 (envelope-from ) MIME-Version: 1.0 X-Mailer: StreamSend2 - 351669 X-Mailer-Version: 2.0 X-Mailer-Environment: production X-Report-Abuse-At: abuse@streamsend.com X-Report-Abuse-Info: It is important to please include full email headers in the report X-rpcampaign: StreamSend26078053 X-Streamsend2id: 351669+1+8392467+26078053+me22564.mailengine1.com Date: Tue, 23 Feb 2016 00:00:14 -0800 From: "The European Prefilled Syringes Summit" Reply-To: "Mohammad Ahsan" To: freebsd-virtualization@freebsd.org Subject: London to Host European Prefilled Syringes Summit Message-ID: <100.0.2.11C.1D16E10752C077E.10ABA5@me22564.mailengine1.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Feb 2016 08:03:16 -0000 ACI=E2=80=99s European Prefilled Syringes Summit will be taking place in Lo= ndon, UK, on the 7th =E2=80=93 8th September, 2016.=20 The two day event will provide an exclusive platform for collaboration and = discussion between a variety of industry perspectives including manufacture= rs, suppliers, academia and regulators homing in on the latest opportunitie= s arising from new Biological Medicines.=20 The aim is to identify potential solutions, future work programmes and prod= uctive partnerships that overcome the key regulatory challenges and facilit= ate minimizing risk within the supply chain promoting access to safe and ef= fective biologicals. Join us in London to exchange your point of view with your peers and engage= in excellent networking opportunities. For more information, Contact: Mohammad Ahsan on +44 (0) 203 141 0606 or email: mahsan@acieu.co.uk=20 Early Confirmed Speakers Include: Thomas Fischer, Senior Quality Manager Medical Device, Novartis Hadj Latreche, Combination Products (Medical Device & Drug) Methods, Proces= s and Infrastructure Group Leader, Roche Pharmaceuticals Ian Thompson, Vice President Business Development, Ypsomed AG Fabien Roy, Senior Associate, Hogan Lovells Martin Murphy, Marketing Lead MedTech Division, Cambridge Consultants=20 Andy Varde, Director of Research & Development, Owen Mumford Key Topics Include: - What issues decide the future of the industry and market - Incorporating human factor engineering into a patient-centric device - Ensure commercial competitiveness of PFS as a drug device - Assess trends of combination products and impacts on PFS - Best practices for the challenging molecular properties: Smart packaging = solutions for highly sensitive compounds - Injectable drug selection criteria - Rethinking approaches to formulation alongside integrating it into manufa= cturing operations - Learn about the latest cutting edge technological developments to acceler= ate your PFS development - Hear from Cambridge Consultants on next generation design devices includi= ng platforms, pumps and featured functionality that works for value chain - Improving cost control through manufacturing in customisable disposable d= evices - Developing strategies to de-risk its supply chain logistics - Next generation smart devices showcase: demonstrating usability and techn= ology advances - Prospects for applications in prefilled technology =E2=80=93 anticipating= requirements for the future Who Will Attend? Senior management within: Head of Device Development Head of Global Product Management Head of Human Factors Senior Application Specialists Senior Packaging Engineers Manager, Finished Products and Medical Devices Head of Device and Delivery Injectables Senior Director, Packaging Head of Medical Devices and Finished Products Register Now to Take Advantage of The 20% Early Bird Discount null Discounted Price: =C2=A31195 (ex.VAT) Standard Price: =C2=A31,495 (ex.VAT). To confirm your participation Contact: Mohammad Ahsan on +44 (0) 203 141 0606 or email: mahsan@acieu.net Exhibition & Sponsorship: A wide range of opportunities are available, all of which can be finely tun= ed to match your exact requirements.=20 Tim Rowley-Evans T: +44 (0) 203 141 0637 =20=20 Speaking Opportunities: If you would like to be considered as a speaker at this event please submit= your abstract to: Chloe Wates T: +44 (0) 203 141 0638 null Registration & Media Partnerships: Mohammad Ahsan T: +44 (0) 203 141 0606 Conference Location: London, UK null Active Communications Europe Ltd. www.wplgroup.com | mahsan@acieu.net Sales and Support: +44 (0) 203-141-0606 -- 5/13 Great Suffolk Str. London, SE1 0NS United Kingdom -- http://app.streamsend.com/private/Cwfm/y2j/qwmd1lL/unsubscribe/26= 078053= From owner-freebsd-virtualization@freebsd.org Tue Feb 23 11:42:41 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2CA3CAB1439; Tue, 23 Feb 2016 11:42:41 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E6B4DF03; Tue, 23 Feb 2016 11:42:40 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id C499125D37C2; Tue, 23 Feb 2016 11:42:38 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 04B89C77037; Tue, 23 Feb 2016 11:42:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id yoPKKbXOYK9q; Tue, 23 Feb 2016 11:42:36 +0000 (UTC) Received: from [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6] (orange-tun0-ula.sbone.de [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 36BF3C77007; Tue, 23 Feb 2016 11:42:36 +0000 (UTC) Subject: Re: (VNET) jails not going away Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Content-Type: text/plain; charset=utf-8 From: "Bjoern A. Zeeb" In-Reply-To: Date: Tue, 23 Feb 2016 11:42:34 +0000 Cc: freebsd-jail@freebsd.org Reply-To: bz@FreeBSD.org Content-Transfer-Encoding: quoted-printable Message-Id: References: To: freebsd-virtualization@freebsd.org X-Mailer: Apple Mail (2.2104) X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Feb 2016 11:42:41 -0000 Hi, sorry for the cross-post, Reply-To: set. > On 22 Feb 2016, at 13:41 , Bjoern A. Zeeb = wrote: >=20 > Hi, >=20 > has anyone else experienced VNET jails to not fully go away anymore on = a recent HEAD kernel (or possibly an older kernel)? >=20 > I have test cases with which I can have them in DYING state (see jls = -av) for ever or at least more than half a day. I am in the process of = trying to find the cause but would be good to know if anyone else is = experiencing this? Ok, I found more funny behaviour that I can get rid of the previous jail = by cleaning up the next one. root@rabbit4:/home/test # jail -i -c -n test19 host.hostname=3Dfoo vnet = persist 19 root@rabbit4:/home/test # jexec 19 /bin/csh root@foo:/ # ifconfig lo0 inet 127.19/8 root@foo:/ # exit root@rabbit4:/home/test # jail -r 19 Jail 19 is in DYING and hangs there forever; If I repeat this upon exit = from jail 20, jail 19 will go away. If I=E2=80=99ll just do this root@rabbit4:/home/test # jail -i -c -n test20 host.hostname=3Dfoo vnet = persist 21 root@rabbit4:/home/test # jail -r 21 20 and 21 are going. I=E2=80=99ll keep tracing this but if it ring a bell for anyone please = let me know ;-) > Thanks, > Bjoern >=20 > Example (after more than 12 hours of jail -r ..): >=20 > # jls -av > JID Hostname Path > Name State > CPUSetID > IP Address(es) > 1 left.example.net / > lef827 DYING > 18 > 2 center.example.net / > mid827 DYING > 19 > 3 right.example.net / > right827 DYING > 20 > 6 right.example.net / > right923 DYING > 23 =E2=80=94=20 Bjoern A. Zeeb Charles Haddon Spurgeon: "Friendship is one of the sweetest joys of life. Many might have failed beneath the bitterness of their trial had they not found a friend." From owner-freebsd-virtualization@freebsd.org Tue Feb 23 15:31:46 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9CC1CAB1CD6; Tue, 23 Feb 2016 15:31:46 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x229.google.com (mail-vk0-x229.google.com [IPv6:2607:f8b0:400c:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 480ED18EC; Tue, 23 Feb 2016 15:31:46 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x229.google.com with SMTP id e185so164211820vkb.1; Tue, 23 Feb 2016 07:31:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=r2EAANXTKNfU2J4a+9+7c0EipIdasK+EQP1oEAg39+A=; b=mqrqsviQaHGbmw41Mx8g/eBkNxh2+7irO7mexsqTMKG3n/+w7Biyda2wc/LHU672B9 2/wjcGySo8fTf7JPd+0d6HZGOD/p0yHxwfYp+uyxkM/1ApRh4vr0pSOc1/9LQSPCMk5M hqK2oVgVRzAi9qPTYhAbmd+Xu34KWCQnEmRCIww86qZhjofssQ3U+so91YqOmTHt3oZ6 ztLbN7Zn1IO+KDT8J99J1rqpH8d9hhWy658d1H0App4QM2Rj2xVX0mAdGwu+DnEwsLaY OYqWCo33JK+ssEqs8JTc9gDYGyrfH+gLVqnyflRIG7jxrtt4IqL8p7iVJpHECdO7nJhk pLWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=r2EAANXTKNfU2J4a+9+7c0EipIdasK+EQP1oEAg39+A=; b=JX/Dd30HDPRXJyNyMgoGFKPaeJ+L1f035gdoF//wtXraVhhcwHNk830lZQ92GRynYN VBZDESmKapn10yvnjNJ8LwGxm1Ce0lH0EUYnio/R9I4K1oBH7lfZKJ7ok/atCAE47lKm MZfajwofMc04qYebMOk+ueMys7xxMDoyFkGc04wTCmvk1MFW/B79X3XPU4f8cR/f/WEO Sa3gFLsWtIAiII3+LzEDWlZjGI4pvRUNdj67eWA0uxbb1GddPr7yRsFBOP2cY3WFLLti MqoO63kqo3Xwk1Ll4FcDEeSRlKFpQxT6Ebzm1nzcmT86XsvplYcsA3TQnrs/krzjlWGp skTQ== X-Gm-Message-State: AG10YOS0i28PBRX9Iu/mgO1fO82DxtblEn4HaI59jDZxdR7iRN3jFu/Ybq6I0leMcZDgZLsmjuAzzVnZxIMfHg== MIME-Version: 1.0 X-Received: by 10.31.47.88 with SMTP id v85mr28833311vkv.118.1456241504762; Tue, 23 Feb 2016 07:31:44 -0800 (PST) Received: by 10.31.194.194 with HTTP; Tue, 23 Feb 2016 07:31:44 -0800 (PST) In-Reply-To: References: Date: Tue, 23 Feb 2016 10:31:44 -0500 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 From: Ultima To: Eric Joyner Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Feb 2016 15:31:46 -0000 Upgraded to r295920 and used generic kernel. Then rebooted and checked bios thoroughly. I found 3, yes 3 different areas in the bios for enabling sr-iov (some screen shots below). 2 are for vt-d(Forgot to take a screenshot of the 2nt, all were enabled) and one for sr-iov(was disabled). Unfortunately with generic kernel, and all these options enabled, adding only 2vf's resulted in the same behavior as above. Little bit of good news, when removing the vf's and ifconfig ix1 down/up the interface's functionality is restored. I also tested this on MYKERNEL r295920, sr-iov option in bios likely played a role in this. If you have any ideas, I'm willing to test them. Thanks! =] VT-d screen: https://puu.sh/niyiq/4fee92e4a3.jpgn PCI advanced options: https://puu.sh/niyjg/88e71e48d9.jpgn Ultima On Mon, Feb 22, 2016 at 9:46 PM, Ultima wrote: > I forgot to mention my kernel conf.... I'm not sure if it would cause this > issue, but I'll test again with GENERIC. > > --- /usr/src/sys/amd64/conf/GENERIC 2016-02-22 21:05:37.152953000 -0500 > +++ /root/MYKERNEL-11-CURRENT-AMD64 2015-12-28 19:18:22.893391452 -0500 > @@ -91,6 +91,12 @@ > options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed > options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones > > +### VIMAGE ### > +options VIMAGE > + > +### ROUTE TABLES ### > +options ROUTETABLES=2 > + > # Make an SMP-capable kernel by default > options SMP # Symmetric MultiProcessor Kernel > > The interface is just dead after creating the vf's earlier. Recreating > with only 2, its still dead. > > Running out of ideas, decided to try a tcpdump... > > # dhclient ix1 > DHCPREQUEST on ix1 to 255.255.255.255 port 67 > DHCPREQUEST on ix1 to 255.255.255.255 port 67 > DHCPREQUEST on ix1 to 255.255.255.255 port 67 > DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 7 > DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 13 > DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 14 > > # tcpdump -i ix1 > tcpdump: verbose output suppressed, use -v or -vv for full protocol decode > listening on ix1, link-type EN10MB (Ethernet), capture size 262144 bytes > 21:41:13.234688 IP 192.168.1.145.bootpc > 255.255.255.255.bootps: > BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 > 21:41:16.236671 IP 192.168.1.145.bootpc > 255.255.255.255.bootps: > BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 > 21:41:23.243242 IP 192.168.1.145.bootpc > 255.255.255.255.bootps: > BOOTP/DHCP, Request from -Hidden- (oui Unknown), length 300 > 21:41:38.261015 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, > Request from -Hidden- (oui Unknown), length 300 > 21:41:45.284752 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, > Request from -Hidden- (oui Unknown), length 300 > 21:41:58.292223 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, > Request from -Hidden- (oui Unknown), length 300 > > I don't think this is that helpful tho. =/ > tcpdump on the other end, the packets are never received. > > I'v already double checked VT-d, but I'll make it tripple! =] I can't > reset the system right now, but ill send an update when possible with only > 2 vf's and unmodified generic. > > Ultima > > On Mon, Feb 22, 2016 at 8:52 PM, Eric Joyner wrote: > >> I don't really have any ideas on the error -100. Error -100 means there >> was a mailbox error, so something failed in the initial communications >> setup between the PF and VF, but I don't know what exactly went wrong. >> >> I'm grasping at straws, but try using a smaller number of VFs initially, >> like 2? And check to see if VT-d is enabled in your BIOS? (Though I >> would've expected iovctl to fail). >> >> - Eric >> >> >> On Mon, Feb 22, 2016 at 12:01 PM Ultima wrote: >> >>> After reboot... >>> >>> ifconfig ix1 up >>> >>> dhclient ix1 >>> DHCPDISCOVER on ix1 to 255.255.255.255 port 67 interval 4 >>> DHCPOFFER from 192.168.1.1 >>> DHCPREQUEST on ix1 to 255.255.255.255 port 67 >>> DHCPACK from 192.168.1.1 >>> bound to 192.168.1.145 -- renewal in 21600 seconds. >>> >>> ix0 down >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.149 ms >>> 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.171 ms >>> 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.167 ms >>> >>> iovctl -Cf /etc/iovctl.conf >>> >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> ^C >>> --- 192.168.1.1 ping statistics --- >>> 29 packets transmitted, 0 packets received, 100.0% packet loss >>> ifconfig ix1 up >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> ^C >>> --- 192.168.1.1 ping statistics --- >>> 12 packets transmitted, 0 packets received, 100.0% packet loss >>> >>> ix1 is no longer usable until a restart... >>> >>> iovctl -Dd ix1 >>> ifconfig ix1 up >>> ping 192.168.1.1 >>> PING 192.168.1.1 (192.168.1.1): 56 data bytes >>> ^C >>> --- 192.168.1.1 ping statistics --- >>> 9 packets transmitted, 0 packets received, 100.0% packet loss >>> >>> >>> >>> Is there anything else that maybe useful? >>> >>> here is my ifconfig at the end (after ifconfig ix0 up) >>> >>> >>> ix0: flags=8943 metric 0 >>> mtu 1500 >>> >>> options=e400b9 >>> ether -Hidden- >>> inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255 >>> inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255 >>> nd6 options=29 >>> media: Ethernet autoselect (10Gbase-T ) >>> status: active >>> ix1: flags=8843 metric 0 mtu 1500 >>> >>> options=e407bb >>> ether -Hidden- >>> inet 192.168.1.145 netmask 0xffffff00 broadcast 192.168.1.255 >>> nd6 options=29 >>> media: Ethernet autoselect (10Gbase-T ) >>> status: active >>> lo0: flags=8049 metric 0 mtu 16384 >>> options=600003 >>> inet6 ::1 prefixlen 128 >>> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 >>> inet 127.0.0.1 netmask 0xff000000 >>> nd6 options=21 >>> groups: lo >>> bridge0: flags=8843 metric 0 mtu >>> 1500 >>> ether -Hidden- >>> nd6 options=9 >>> groups: bridge >>> id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 >>> maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 >>> root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 >>> member: ix0 flags=143 >>> ifmaxaddr 0 port 1 priority 128 path cost 2000 >>> member: epair0a flags=143 >>> ifmaxaddr 0 port 5 priority 128 path cost 2000 >>> epair0a: flags=8943 >>> metric 0 mtu 1500 >>> options=8 >>> ether -Hidden- >>> inet6 fe80::ff:70ff:fe00:50a%epair0a prefixlen 64 scopeid 0x5 >>> nd6 options=21 >>> media: Ethernet 10Gbase-T (10Gbase-T ) >>> status: active >>> groups: epair >>> >>> On Mon, Feb 22, 2016 at 1:51 PM, Eric Joyner wrote: >>> >>>> Did you do an ifconfig up on ix1 before loading the VF driver? >>>> >>>> On Sat, Feb 20, 2016 at 11:57 AM Ultima wrote: >>>> >>>>> Decided to do some testing with iovctl to see how sr-iov is coming >>>>> along. >>>>> Currently when adding the vf's there are a couple errors, and the >>>>> network >>>>> no longer function after iovctl is started. My guess is the reset_hw() >>>>> call >>>>> that is failing. Any ideas why this call would fail? I tested this on >>>>> both >>>>> ports, ix1 is detached and unused for this test, however inserting a >>>>> cable >>>>> results in an unusable port. iovctl -Dd ix1 removes the vf's, however >>>>> functionality is still not restored without a system restart. >>>>> >>>>> FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 >>>>> 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 >>>>> >>>>> /boot/loader.conf >>>>> hw.ix.num_queues="4" >>>>> >>>>> /etc/iovctl.conf >>>>> PF { >>>>> device : ix1; >>>>> num_vfs : 31; >>>>> } >>>>> >>>>> DEFAULT { >>>>> passthrough : true; >>>>> } >>>>> VF-0 { >>>>> passthrough : false; >>>>> } >>>>> VF-1 { >>>>> passthrough : false; >>>>> } >>>>> >>>>> # iovctl -C -f /etc/iovctl.conf >>>>> >>>>> dmesg >>>>> ixv0: >>>> 1.4.6-k> at device 0.129 on pci12 >>>>> ixv0: Using MSIX interrupts with 2 vectors >>>>> ixv0: ixgbe_reset_hw() failed with error -100 >>>>> device_attach: ixv0 attach returned 5 >>>>> ixv0: >>>> 1.4.6-k> at device 0.131 on pci12 >>>>> ixv0: Using MSIX interrupts with 2 vectors >>>>> ixv0: ixgbe_reset_hw() failed with error -100 >>>>> device_attach: ixv0 attach returned 5 >>>>> pci12: at device 0.133 (no driver attached) >>>>> pci12: at device 0.135 (no driver attached) >>>>> pci12: at device 0.137 (no driver attached) >>>>> pci12: at device 0.139 (no driver attached) >>>>> pci12: at device 0.141 (no driver attached) >>>>> pci12: at device 0.143 (no driver attached) >>>>> pci12: at device 0.145 (no driver attached) >>>>> pci12: at device 0.147 (no driver attached) >>>>> pci12: at device 0.149 (no driver attached) >>>>> pci12: at device 0.151 (no driver attached) >>>>> pci12: at device 0.153 (no driver attached) >>>>> pci12: at device 0.155 (no driver attached) >>>>> pci12: at device 0.157 (no driver attached) >>>>> pci12: at device 0.159 (no driver attached) >>>>> pci12: at device 0.161 (no driver attached) >>>>> pci12: at device 0.163 (no driver attached) >>>>> pci12: at device 0.165 (no driver attached) >>>>> pci12: at device 0.167 (no driver attached) >>>>> pci12: at device 0.169 (no driver attached) >>>>> pci12: at device 0.171 (no driver attached) >>>>> pci12: at device 0.173 (no driver attached) >>>>> pci12: at device 0.175 (no driver attached) >>>>> pci12: at device 0.177 (no driver attached) >>>>> pci12: at device 0.179 (no driver attached) >>>>> pci12: at device 0.181 (no driver attached) >>>>> pci12: at device 0.183 (no driver attached) >>>>> pci12: at device 0.185 (no driver attached) >>>>> pci12: at device 0.187 (no driver attached) >>>>> pci12: at device 0.189 (no driver attached) >>>>> >>>>> pciconf -lv >>>>> ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'Ethernet Controller 10-Gigabit X540-AT2' >>>>> class = network >>>>> subclass = ethernet >>>>> none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 >>>>> rev=0x01 hdr=0x00 >>>>> vendor = 'Intel Corporation' >>>>> device = 'X540 Ethernet Controller Virtual Function' >>>>> class = network >>>>> subclass = ethernet >>>>> >>>>> Ultima >>>>> _______________________________________________ >>>>> freebsd-current@freebsd.org mailing list >>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>>>> To unsubscribe, send any mail to " >>>>> freebsd-current-unsubscribe@freebsd.org" >>>>> >>>> >>> > From owner-freebsd-virtualization@freebsd.org Wed Feb 24 02:32:30 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9CA7AB2873 for ; Wed, 24 Feb 2016 02:32:30 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8C3BD9B1 for ; Wed, 24 Feb 2016 02:32:29 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from julian-mbp3.pixel8networks.com (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id u1O2WR0t011060 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Tue, 23 Feb 2016 18:32:28 -0800 (PST) (envelope-from julian@freebsd.org) Subject: Re: (VNET) jails not going away To: freebsd-virtualization@freebsd.org References: From: Julian Elischer Message-ID: <56CD1636.3040201@freebsd.org> Date: Tue, 23 Feb 2016 18:32:22 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Feb 2016 02:32:30 -0000 On 23/02/2016 3:42 AM, Bjoern A. Zeeb wrote: > Hi, > > sorry for the cross-post, Reply-To: set. > > >> On 22 Feb 2016, at 13:41 , Bjoern A. Zeeb wrote: >> >> Hi, >> >> has anyone else experienced VNET jails to not fully go away anymore on a recent HEAD kernel (or possibly an older kernel)? >> >> I have test cases with which I can have them in DYING state (see jls -av) for ever or at least more than half a day. I am in the process of trying to find the cause but would be good to know if anyone else is experiencing this? > Ok, I found more funny behaviour that I can get rid of the previous jail by cleaning up the next one. > > root@rabbit4:/home/test # jail -i -c -n test19 host.hostname=foo vnet persist > 19 > root@rabbit4:/home/test # jexec 19 /bin/csh > root@foo:/ # ifconfig lo0 inet 127.19/8 > root@foo:/ # exit > root@rabbit4:/home/test # jail -r 19 > > Jail 19 is in DYING and hangs there forever; If I repeat this upon exit from jail 20, jail 19 will go away. > > If I’ll just do this > > root@rabbit4:/home/test # jail -i -c -n test20 host.hostname=foo vnet persist > 21 > root@rabbit4:/home/test # jail -r 21 > > 20 and 21 are going. > > > I’ll keep tracing this but if it ring a bell for anyone please let me know ;-) definitely no bell. > > > >> Thanks, >> Bjoern >> >> Example (after more than 12 hours of jail -r ..): >> >> # jls -av >> JID Hostname Path >> Name State >> CPUSetID >> IP Address(es) >> 1 left.example.net / >> lef827 DYING >> 18 >> 2 center.example.net / >> mid827 DYING >> 19 >> 3 right.example.net / >> right827 DYING >> 20 >> 6 right.example.net / >> right923 DYING >> 23 > > > — > Bjoern A. Zeeb Charles Haddon Spurgeon: > "Friendship is one of the sweetest joys of life. Many might have failed > beneath the bitterness of their trial had they not found a friend." > > _______________________________________________ > freebsd-virtualization@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization > To unsubscribe, send any mail to "freebsd-virtualization-unsubscribe@freebsd.org" > > From owner-freebsd-virtualization@freebsd.org Wed Feb 24 16:09:15 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9553AB30CD for ; Wed, 24 Feb 2016 16:09:15 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x22f.google.com (mail-vk0-x22f.google.com [IPv6:2607:f8b0:400c:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 72329D67 for ; Wed, 24 Feb 2016 16:09:15 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x22f.google.com with SMTP id e185so20987750vkb.1 for ; Wed, 24 Feb 2016 08:09:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=v2S20vQY8jfYEQQEVSQBS7nq2sgvIbZLQYu3hGnHZsY=; b=qAHqt38rVlxi3T7WuX32XYuv+DgqdPgluR3kin3Tdd9fp0RhaXDWml9PbQgiBvcBfJ CkA+7WPmOyyYFboaUmW2qY0/IP9gu5p+/KbZy2AfFQBqRXmNQVgCBIXettcIJ4d6DjPc LRWg9vD/uXCgmuabLIucesqTd2xPZrT2Tavblqr+QMvbKfnhgL3I8Joko+bkBxTTXR9q UUO+p1TgsBRbDAsDhAeTdRR6cqjc6GkaUYKkcMiG18QVPVtocEXKf614LnKei6TI7zp7 gPjcV98Cv0R+SIXQmAlaii3rw//7j3L/2gziyePm0D6QIKVtn2Jmp3SCniES0YLH1KFu i1hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:cc:content-type; bh=v2S20vQY8jfYEQQEVSQBS7nq2sgvIbZLQYu3hGnHZsY=; b=V/yQYex8+VBQnZwxeCjfvV9SA6TPvJ2bp2d+upMHFceL7HvUOzF1dlkAdpWDEzmG/S ndMVIs+/8iIRE4FJ0QEYXVUEn26VCZaescLStfnb+J3A9Unfv0SH2jNLsr+rKEziVK85 3oOS52lmEStbIXaw+Zri0VrVfJ4pAm1QLwbOCpO9oAfWye0meAmUPGZsTZk8y7QlQ2QB dXcZ3emNnNTNBX4d0hPKmYQh+gf02VNr5+vTWHAuTAUmRXsTnVcws/es4PdE5xHh5V2G kDJ9YcqUHp5S6eVOYoD0HreRL7t1NaTZ/mVIGVftp3lqEGTWeOVnU3iq6hmmuQV8pfFM p9Ig== X-Gm-Message-State: AG10YOT5UC6vU8in8czvik+oBYCvbSqIZjeIO6+wU32TzzPfjL7tKXA7T9C3Zske8UjrrKt6dz91emw+N4J/vg== MIME-Version: 1.0 X-Received: by 10.31.47.88 with SMTP id v85mt36540146vkv.118.1456330154512; Wed, 24 Feb 2016 08:09:14 -0800 (PST) Received: by 10.31.194.194 with HTTP; Wed, 24 Feb 2016 08:09:14 -0800 (PST) In-Reply-To: References: Date: Wed, 24 Feb 2016 11:09:14 -0500 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 From: Ultima Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Feb 2016 16:09:15 -0000 Decided to do some more tests, I actually have a second board with sr-iov capabilities that I used for awhile with vmware esxi. I decided to test this out and unfortunately it won't activate, it is giving the no space left on device error message. I double checked bios and all VT-d related options are enabled and have hw.ix.num_queues="4" in /boot/loader.conf. Is there anything else that may need to be set? .(It did work on vmware) For my second test, I moved the X540-AT1 to the board with the X540-AT2. It functioned with the same issues as the AT2 tho. I don't think I listed the motherboards in question yet so ill list them now. S1200BTLRM - http://ark.intel.com/products/69633/Intel-Server-Board-S1200BTLRM?q=S1200BTLRM MD80-TM0 - http://b2b.gigabyte.com/products/product-page.aspx?pid=5146#ov I'm not sure if it will be of any help tho. Ultima From owner-freebsd-virtualization@freebsd.org Thu Feb 25 01:04:24 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 17C74AB35FA; Thu, 25 Feb 2016 01:04:24 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: from mail-qg0-x234.google.com (mail-qg0-x234.google.com [IPv6:2607:f8b0:400d:c04::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C50B51D9B; Thu, 25 Feb 2016 01:04:23 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: by mail-qg0-x234.google.com with SMTP id b67so29020754qgb.1; Wed, 24 Feb 2016 17:04:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=ha3QDPRMwgFCH5NKq20DYc4kaQ9ZvzvnLyqjQUXeZUY=; b=WRbzsySxWJoFdCPMtYOuUz9eo7yEPX1WW0tuweHqKwZaxQw4A8V6ekHr+LbCKMzLJH +TZndJC2yZsbsPyiMg78vFeW2S3eobzkH6s2ZuQXXWAFBP1rzDgciOekq3pcAoBaE2NV 5MvHRC6E5Kfpgn/kqiaIJ9BslHWV5qQh7sMo7cPm7b9EWiynSmWVtvl+mnNllpYqc+r/ AVCt8RJHIGi6QU1uyDFI74wi/sPc3wGSOBsilQtc4A+jL+Yg688W+2IiP8i/J+E003xq Jsre9uoHIl0Z23gfZNa81Jj5WeBBcyH/7G2wJPQ/KsobPNP60MGNsjdeHtkDMbGFovTD drxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-type; bh=ha3QDPRMwgFCH5NKq20DYc4kaQ9ZvzvnLyqjQUXeZUY=; b=Zu1U/zyFUjcoB8vWliM5CPZyt5smf58SYvVbNK05qWn/5bbIU+FaYxjWlevpjnyozw X5NZUA7/ef3wgZi+CNev00WcP922lmA2Dshi1Lt6LKG9Zv29uMQttLFzeaBEZ77Nlfy2 ZvbyKq/09ftVG0ILNK4uzFdwldBvPBhA7YhtvpVOBHbNpeLpfYugwxDRN9SDpBwGDAGW 3UTP+HfMt7GX56pSuderf5pXCbJOTvmbKAFXPDLTm5ld77bbzm0GeNJsB7VmS8FHB+tl KpHGk/uMS/4darv+lkoACWhcv2Z6ZE1arjA5JxFkceVk/0Wf2ObkkIUTGYQ5xwI4vgjt +WPg== X-Gm-Message-State: AG10YOTWwHeDrX8EHeHbsdj9csXc46ACMDysRPsD7kumyv5Ax+WJirSUmqWjoWQaoVQUs+AxyG2Iz5fn0CcQmA== X-Received: by 10.140.132.149 with SMTP id 143mr53367237qhe.7.1456362262662; Wed, 24 Feb 2016 17:04:22 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Eric Joyner Date: Thu, 25 Feb 2016 01:04:12 +0000 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 To: Ultima Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2016 01:04:24 -0000 Are you still getting the -100 errors when trying to load the VF driver? I've tried SR-IOV on a system here, and I can confirm that traffic stops passing on the PF interface when you create a VF interface. That didn't used to happen, so I'm investigating why that is right now. On Wed, Feb 24, 2016 at 8:09 AM Ultima wrote: > Decided to do some more tests, I actually have a second board with sr-iov > capabilities that I used for awhile with vmware esxi. I decided to test > this out and unfortunately it won't activate, it is giving the no space > left on device error message. I double checked bios and all VT-d related > options are enabled and have hw.ix.num_queues="4" in /boot/loader.conf. Is > there anything else that may need to be set? .(It did work on vmware) > > For my second test, I moved the X540-AT1 to the board with the X540-AT2. > It functioned with the same issues as the AT2 tho. > > > I don't think I listed the motherboards in question yet so ill list them > now. > > S1200BTLRM - > > http://ark.intel.com/products/69633/Intel-Server-Board-S1200BTLRM?q=S1200BTLRM > MD80-TM0 > > - http://b2b.gigabyte.com/products/product-page.aspx?pid=5146#ov > > I'm not sure if it will be of any help tho. > > Ultima > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > From owner-freebsd-virtualization@freebsd.org Thu Feb 25 01:12:42 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4782BAB3BC6; Thu, 25 Feb 2016 01:12:42 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x22c.google.com (mail-vk0-x22c.google.com [IPv6:2607:f8b0:400c:c05::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F2114947; Thu, 25 Feb 2016 01:12:41 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x22c.google.com with SMTP id k196so34574710vka.0; Wed, 24 Feb 2016 17:12:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=UI9IdeNj7kw+IPk4h+deA5wBZwzBp42TXJjnI+3P69I=; b=OjwL2/4QnGMYmCrRrUaZLCV1Z4PEcu24xwVA2mmduZ2v/nItxUwPz7H6ZwlxgVm2n3 s9w1F4sg844lCRtgtxkrxdpB5bQfbu87HZoCz7L7WbEqNx4wMQ4AN9g+UxPzWqevXtI+ KQNefhiDhiL3OxahiXCglEm4Fr7e2q/+eW+luNocdVieM1rhHpsnM0uv9gjaJkUrlexJ xY/VLDawuhhTPatIgHrnxoCYAgUKdNpTYrDRSirnyfirEg11RBgwJKz/qYjm4suPkdQI bDPUosjYQZQBVGr3H8NjONd+JT5/guydnqjdmsP/CwSuRTSewQ4tzHJ/5I7XoaeRpncW 4jOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=UI9IdeNj7kw+IPk4h+deA5wBZwzBp42TXJjnI+3P69I=; b=mDqJBzw5V8Tk9ayGilHJwxNPcLBqfwkrAM/w0UiWkmjdJEAqfGcouFEEFB10m1x0i1 Q7i1jUhmjWktKm9HMDM6KVIObi5MQSuCzhsBhbpkDA5O52bC45wDYL6/Uj82IRGYKSSP Y/s/XxGYwj16uZ9r7zpMlEjlWel8nLy490F2MeQsJRkbzmYZ+ZqcGVx9KJxrnP3BzkT4 /TVadoOWcYHfRMEAxDDA3XcY5o9GuDcs308IU1FEUFRdNFB862yrreCVg8p39dGS6hbD sXowzfRIeju2qmr1PFnwYIazAw/TOZ6fmgkkVtnRteM1xWnr+RMibXL9XTxXi9jurrJI 5ctQ== X-Gm-Message-State: AG10YOS97jLgyDrGpFlIc/GFZeEW7MMI85toxWPS/ZwvvXyXMXZFbyBI1Ia5Kg46nOeDm+fdCQFXCf41XWNQkw== MIME-Version: 1.0 X-Received: by 10.31.128.15 with SMTP id b15mr26053371vkd.128.1456362761012; Wed, 24 Feb 2016 17:12:41 -0800 (PST) Received: by 10.31.194.194 with HTTP; Wed, 24 Feb 2016 17:12:40 -0800 (PST) In-Reply-To: References: Date: Wed, 24 Feb 2016 20:12:40 -0500 Message-ID: Subject: Re: sr-iov issues, reset_hw() failed with error -100 From: Ultima To: Eric Joyner Cc: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2016 01:12:42 -0000 Yeah, still getting the -100 error, I do have sendmail disabled. I just tested with sendmail up and running then add the VF's and it still shows the error message. On Wed, Feb 24, 2016 at 8:04 PM, Eric Joyner wrote: > Are you still getting the -100 errors when trying to load the VF driver? > > I've tried SR-IOV on a system here, and I can confirm that traffic stops > passing on the PF interface when you create a VF interface. That didn't > used to happen, so I'm investigating why that is right now. > > On Wed, Feb 24, 2016 at 8:09 AM Ultima wrote: > >> Decided to do some more tests, I actually have a second board with sr-iov >> capabilities that I used for awhile with vmware esxi. I decided to test >> this out and unfortunately it won't activate, it is giving the no space >> left on device error message. I double checked bios and all VT-d related >> options are enabled and have hw.ix.num_queues="4" in /boot/loader.conf. Is >> there anything else that may need to be set? .(It did work on vmware) >> >> For my second test, I moved the X540-AT1 to the board with the X540-AT2. >> It functioned with the same issues as the AT2 tho. >> >> >> I don't think I listed the motherboards in question yet so ill list them >> now. >> >> S1200BTLRM - >> >> http://ark.intel.com/products/69633/Intel-Server-Board-S1200BTLRM?q=S1200BTLRM >> MD80-TM0 >> >> - http://b2b.gigabyte.com/products/product-page.aspx?pid=5146#ov >> >> I'm not sure if it will be of any help tho. >> >> Ultima >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org >> " >> > From owner-freebsd-virtualization@freebsd.org Sat Feb 27 10:00:24 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 38ED2AB6D56 for ; Sat, 27 Feb 2016 10:00:24 +0000 (UTC) (envelope-from richard@bader-muenchen.de) Received: from gate1.bader-muenchen.de (gate1.bader-muenchen.de [213.179.151.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC400BEA for ; Sat, 27 Feb 2016 10:00:23 +0000 (UTC) (envelope-from richard@bader-muenchen.de) Received: from [IPv6:::1] (gate.bader.loc [192.168.16.3]) by gate1.bader-muenchen.de (8.15.2/8.15.2) with ESMTP id u1RA0G2t065298; Sat, 27 Feb 2016 11:00:16 +0100 (CET) (envelope-from richard@bader-muenchen.de) From: richard bader Subject: ath0 (wlan0) not working in virtulised guest with bhyve Cc: richard@bader-muenchen.de To: freebsd-virtualization@freebsd.org Message-ID: <56D173DC.9040805@bader-muenchen.de> Date: Sat, 27 Feb 2016 11:01:00 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Feb 2016 10:00:24 -0000 Hello, using ath0 (and wlan) on the host is working fine. But trying the same on the guest does not work. on the host freebsd 10.2 ist running on the guest freebsd 10.3 (10.3-BETA2 FreeBSD 10.3-BETA2 #0) is running the guest was started with: /usr/sbin/bhyve -c 2 -m 2048M -A -H -P -g 0 -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,tap0 -s 3:0,virtio-net,tap1 -s 4:0,virtio-blk,wlan.bader.loc.img -s 5,passthru,5/0/0 -l com1,stdio wlan As simple experiment I try to scan for wlans using: root@wlan:~ #ifconfig wlan0 create wlandev ath0 && ifconfig wlan0 up scan but no wlan appears. As adrian chadd (freebsd-wireless@freebsd.org) noticed, the irq16 is not working: root@wlan:~ # vmstat -i interrupt total rate irq4: uart0 224 0 cpu0:timer 10956 25 irq265: virtio_pci0 295 0 irq271: virtio_pci2 1267 2 cpu1:timer 2982 7 Total 15724 36 root@wlan:~ # dmesg | grep irq ioapic0 irqs 0-23 on motherboard atrtc0: port 0x70-0x71 irq 8 on acpi0 attimer0: port 0x40-0x43 irq 0 on acpi0 virtio_pci0: port 0x2000-0x201f mem 0xc0000000-0xc0001fff irq 16 at device 2.0 on pci0 virtio_pci1: port 0x2020-0x203f mem 0xc0002000-0xc0003fff irq 17 at device 3.0 on pci0 virtio_pci2: port 0x2040-0x207f mem 0xc0004000-0xc0005fff irq 18 at device 4.0 on pci0 ath0: mem 0xc0010000-0xc001ffff irq 16 at device 7.0 on pci0 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 atkbd0: irq 1 on atkbdc0 the output of 'ifconfig wlan0' is the same as on the working host: root@wlan:~ # dmesg | grep ath0 ath0: mem 0xc0010000-0xc001ffff irq 16 at device 5.0 on pci0 ath0: [HT] enabling HT modes ath0: [HT] enabling short-GI in 20MHz mode ath0: [HT] 1 stream STBC receive enabled ath0: [HT] 1 stream STBC transmit enabled ath0: [HT] 2 RX streams; 2 TX streams ath0: AR9287 mac 384.2 RF5133 phy 15.15 ath0: 2GHz radio: 0x0000; 5GHz radio: 0x00c0 any hints to get it working? thanks richard From owner-freebsd-virtualization@freebsd.org Sat Feb 27 13:12:16 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A90EAAB5E43 for ; Sat, 27 Feb 2016 13:12:16 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from phabric-backend.rbsd.freebsd.org (unknown [IPv6:2607:fc50:2000:101::1bb:73]) by mx1.freebsd.org (Postfix) with ESMTP id 8E751D1 for ; Sat, 27 Feb 2016 13:12:16 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 8727733212FA; Sat, 27 Feb 2016 13:12:16 +0000 (UTC) Date: Sat, 27 Feb 2016 13:12:16 +0000 To: freebsd-virtualization@freebsd.org From: "iateaca (Teaca)" Reply-to: D5473+333+79492675d52ac1ab@reviews.freebsd.org Subject: [Differential] [Request, 2, 605 lines] D5473: ATA/ATAPI6 device emulation in bhyve Message-ID: X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , , , Thread-Topic: D5473: ATA/ATAPI6 device emulation in bhyve X-Herald-Rules: none X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: Precedence: bulk Thread-Index: ZmQ1YjBmNDNhNWVhZDYwNjJmNTU3Y2FmMjRk MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_370e5c04a721b87eab23b165702327c0" X-Mailman-Approved-At: Sat, 27 Feb 2016 17:31:47 +0000 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Feb 2016 13:12:16 -0000 --b1_370e5c04a721b87eab23b165702327c0 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit iateaca created this revision. iateaca added reviewers: grehan, mav, neel, tychon. iateaca added a subscriber: freebsd-virtualization-list. REVISION SUMMARY This patch implements the ATA/ATAPI6 device emulation in bhyve. The userspace bhyve tree sources must be patched. For example: patch -d bhyve/ < bhyve_ata_atapi6.patch REVISION DETAIL https://reviews.freebsd.org/D5473 AFFECTED FILES Makefile ata.c pci_lpc.c EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: iateaca, grehan, mav, neel, tychon Cc: freebsd-virtualization-list --b1_370e5c04a721b87eab23b165702327c0 Content-Type: text/x-patch; charset=utf-8; name="D5473.13829.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5473.13829.patch" ZGlmZiAtLWdpdCBhL3BjaV9scGMuYyBiL3BjaV9scGMuYwotLS0gYS9wY2lfbHBjLmMKKysrIGIv cGNpX2xwYy5jCkBAIC03Myw2ICs3MywxMSBAQAogCiBzdGF0aWMgY29uc3QgY2hhciAqbHBjX3Vh cnRfbmFtZXNbTFBDX1VBUlRfTlVNXSA9IHsgIkNPTTEiLCAiQ09NMiIgfTsKIAorZXh0ZXJuIGlu dAorbHBjX2F0YV9pbml0KHN0cnVjdCB2bWN0eCAqY3R4LCBjb25zdCBjaGFyICpvcHRzKTsKK3N0 YXRpYyBjb25zdCBjaGFyICpscGNfYXRhMF9vcHRzID0gTlVMTDsKK3N0YXRpYyBjb25zdCBjaGFy ICpscGNfYXRhMV9vcHRzID0gTlVMTDsKKwogLyoKICAqIExQQyBkZXZpY2UgY29uZmlndXJhdGlv biBpcyBpbiB0aGUgZm9sbG93aW5nIGZvcm06CiAgKiA8bHBjX2RldmljZV9uYW1lPlssPG9wdGlv bnM+XQpAQCAtOTUsNiArMTAwLDE2IEBACiAJCQkJZ290byBkb25lOwogCQkJfQogCQl9CisKKwkJ aWYgKHN0cmNhc2VjbXAobHBjZGV2LCAiYXRhLWhkIikgPT0gMCkgeworCQkJaWYgKHN0clswXSA9 PSAnMCcpCisJCQkJbHBjX2F0YTBfb3B0cyA9IHN0cjsKKwkJCWVsc2UgaWYgKHN0clswXSA9PSAn MScpCisJCQkJbHBjX2F0YTFfb3B0cyA9IHN0cjsKKworCQkJZXJyb3IgPSAwOworCQkJZ290byBk b25lOworCQl9CiAJfQogCiBkb25lOgpAQCAtMTk3LDYgKzIxMiwxMSBAQAogCQlzYy0+ZW5hYmxl ZCA9IDE7CiAJfQogCisJaWYgKGxwY19hdGEwX29wdHMpCisJCWxwY19hdGFfaW5pdChscGNfYnJp ZGdlLT5waV92bWN0eCwgbHBjX2F0YTBfb3B0cyk7CisJaWYgKGxwY19hdGExX29wdHMpCisJCWxw Y19hdGFfaW5pdChscGNfYnJpZGdlLT5waV92bWN0eCwgbHBjX2F0YTFfb3B0cyk7CisKIAlyZXR1 cm4gKDApOwogfQogCkBAIC0zNzksNiArMzk5LDggQEAKIAkJcmV0dXJuICgtMSk7CiAJfQogCisJ bHBjX2JyaWRnZSA9IHBpOworCiAJaWYgKGxwY19pbml0KCkgIT0gMCkKIAkJcmV0dXJuICgtMSk7 CiAKQEAgLTM4OCw4ICs0MTAsNiBAQAogCXBjaV9zZXRfY2ZnZGF0YTgocGksIFBDSVJfQ0xBU1Ms IFBDSUNfQlJJREdFKTsKIAlwY2lfc2V0X2NmZ2RhdGE4KHBpLCBQQ0lSX1NVQkNMQVNTLCBQQ0lT X0JSSURHRV9JU0EpOwogCi0JbHBjX2JyaWRnZSA9IHBpOwotCiAJcmV0dXJuICgwKTsKIH0KIApk aWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtl ZmlsZQpAQCAtMTEsNiArMTEsNyBAQAogU1JDUz0JXAogCWF0a2JkYy5jCQlcCiAJYWNwaS5jCQkJ XAorCWF0YS5jCQkJXAogCWJoeXZlcnVuLmMJCVwKIAlibG9ja19pZi5jCQlcCiAJY29uc3BvcnQu YwkJXApkaWZmIC0tZ2l0IGEvYXRhLmMgYi9hdGEuYwotLS0gYS9hdGEuYworKysgYi9hdGEuYwpA QCAtMCwwICsxLDI1ODAgQEAKKworI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lz L2F0YS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisj aW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcu aD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSA8Y2FtL3Njc2kvc2NzaV9hbGwuaD4K KyNpbmNsdWRlIDxtYWNoaW5lL3ZtbS5oPgorI2luY2x1ZGUgPHZtbWFwaS5oPgorCisjaW5jbHVk ZSAiYmxvY2tfaWYuaCIKKyNpbmNsdWRlICJiaHl2ZXJ1bi5oIgorI2luY2x1ZGUgInBjaV9lbXVs LmgiCisjaW5jbHVkZSAicGNpX2lycS5oIgorI2luY2x1ZGUgImlub3V0LmgiCisKKworLyoKKyAq IEFUQSBEZWJ1ZyBMb2cKKyAqLworI2RlZmluZQlERUJVR19BVEEJCQkxCisjaWYgREVCVUdfQVRB ID09IDEKKwordHlwZWRlZiBlbnVtIHsKKwlMT0dfREVCVUcgPSAwLAorCUxPR19FUlIgPSAxLAor fSBMT0dfTEVWRUw7CisKK3N0YXRpYyBGSUxFICpkYmc7CisKK3N0YXRpYyB2b2lkIGF0YV9vcGVu X2RiZ19maWxlKHZvaWQpCit7CisJZGJnID0gZm9wZW4oIi90bXAvYmh5dmVfYXRhLmxvZyIsICJ3 KyIpOworCXJldHVybjsKK30KKworI2RlZmluZSBkcHJpbnQobGV2ZWwsIGZvcm1hdCwgYXJnLi4u KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJZG97ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorCQlpZiAobGV2ZWwgPT0gTE9HX0RFQlVHKSB7ZnByaW50ZihkYmcsIGZvcm1hdCwgIyNhcmcp O30gICAgICAgXAorCQllbHNlIHtmcHJpbnRmKGRiZywgIkxPR19FUlI6ICJmb3JtYXQsICMjYXJn KTt9ICAgICAgICAgICAgICAgXAorCQlmZmx1c2goZGJnKTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCX13aGlsZSgwKQorI2Vsc2UKKyNkZWZpbmUg YXRhX29wZW5fZGJnX2ZpbGUoKQk7CisjZGVmaW5lIGRwcmludChsZXZlbCwgZm10LCAuLi4pIGRv IHt9IHdoaWxlICgwKQorI2VuZGlmCisKKworLyoKKyAqIEFUQSBkZWZpbmVzCisgKi8KKworI2Rl ZmluZSBQQ0lfQVRBX0NIX1NFUAkJCSc7JworCisvKiBBVEEgQ2hhbm5lbHMgKi8KKyNkZWZpbmUg QVRBX0NIQU5ORUxTCQkJMHgwMgorI2RlZmluZQlBVEFfWAkJCQkweDAwCisjZGVmaW5lCUFUQV9Z CQkJCTB4MDEKKworI2RlZmluZQlBVEFfRFJJVkVTCQkJMHgwMgorI2RlZmluZQlBVEFfTUFTVEVS CQkJMHgwMAorI2RlZmluZQlBVEFfU0xBVkUJCQkweDAxCisKKyNkZWZpbmUJQVRBX0RSSVZFX0FC U0VOVAkJMHhmOAorCisjZGVmaW5lCUFUQV9ERVYodW5pdCkJCQkoKHVuaXQgPiAwKSA/IDB4MTAg OiAwKQorCisjZGVmaW5lIEFUQV9JT1NJWkUJCQkweDA4CisjZGVmaW5lIEFUQV9DVExJT1NJWkUJ CQkweDAxCisjZGVmaW5lIEFUQV9CTUlPU0laRQkJCTB4MDgKKworI2RlZmluZQlBVEFfU0VDVE9S X1NJWkUJCQk1MTIKKyNkZWZpbmUJQVRBX1NFQ1RPUlNfUEVSX0JMT0NLCQkxMjgKKyNkZWZpbmUJ QVRBX01BWF9TRUNfQ09VTlQJCTI1NgorI2RlZmluZQlBVEFfQkxPQ0tfU0laRQkJCShBVEFfU0VD VE9SU19QRVJfQkxPQ0sgKiBBVEFfU0VDVE9SX1NJWkUpCisjZGVmaW5lCUFUQV9JTkJVRl9TSVpF CQkJKEFUQV9NQVhfU0VDX0NPVU5UICogQVRBX1NFQ1RPUl9TSVpFKQorI2RlZmluZQlBVEFfTEJB XzI3XzI0X01BU0sJCTB4MGYKKworI2RlZmluZSBBVEFQSV9QQUNLRVRfU0laRQkJMTIKKyNkZWZp bmUgQVRBUElfQkxPQ0tfU0laRQkJMjA0OAorCisjZGVmaW5lCUFUQV9XUklURV9NVUxfQ09NUExF VEUJCTAKKyNkZWZpbmUJQVRBX1JFQURfTVVMX0NPTVBMRVRFCQkwCisKKyNkZWZpbmUJQVRBX0RN QV9NQVhfUFJEX0NPVU5UCQk2NTUzNgorI2RlZmluZQlBVEFfRE1BX1BSRFRfU0laRQkJNjU1MzYK KyNkZWZpbmUJQVRBX0RNQV9QUkRUX0VPVAkJMHg4MDAwCisKKyNkZWZpbmUJQVRBX0RNQV9SRUFE CQkJKDApCisjZGVmaW5lCUFUQV9ETUFfV1JJVEUJCQkoMSkKKworI2RlZmluZQlBVEFfV19ETUEy CQkJMHgwNAorI2RlZmluZQlBVEFfTU9ERV9QSU80CQkJMHgwMgorCisjZGVmaW5lCUFUQV9BVEFQ SV82CQkJMHg0MAorCisjZGVmaW5lIEFUQVBJX01BR0lDX0xTQgkJCTB4MTQKKyNkZWZpbmUgQVRB UElfTUFHSUNfTVNCCQkJMHhlYgorCisvKiBQQ0kgQkFSUyBpZHggKi8KKyNkZWZpbmUJUENJX0JB UjAJCQkwCisjZGVmaW5lCVBDSV9CQVIxCQkJMQorI2RlZmluZQlQQ0lfQkFSMgkJCTIKKyNkZWZp bmUJUENJX0JBUjMJCQkzCisjZGVmaW5lCVBDSV9CQVI0CQkJNAorCisvKiBBVEEgQnVzIE1hc3Rl ciBSZWdpc3RlciBPZmZzZXRzIGFuZCBWYWx1ZXMqLworI2RlZmluZQlBVEFfQk1DTURfWF9SRUcJ CQkweDAwCisjZGVmaW5lCUFUQV9CTUNNRF9ZX1JFRwkJCTB4MDgKKyNkZWZpbmUJCUFUQV9CTUNN RF9TVEFSVF9TVE9QCTB4MDEKKyNkZWZpbmUJCUFUQV9CTUNNRF9XUklURV9SRUFECTB4MDgKKwor I2RlZmluZQlBVEFfQk1TVEFUX1hfUkVHCQkweDAyCisjZGVmaW5lCUFUQV9CTVNUQVRfWV9SRUcJ CTB4MEEKKyNkZWZpbmUJCUFUQV9CTVNUQVRfQUNUSVZFCTB4MDEKKyNkZWZpbmUJCUFUQV9CTVNU QVRfRVJST1IJMHgwMgorI2RlZmluZQkJQVRBX0JNU1RBVF9JTlRFUlJVUFQJMHgwNAorI2RlZmlu ZQkJQVRBX0JNU1RBVF9NQVNLCQkweDA3CisjZGVmaW5lCQlBVEFfQk1TVEFUX0RNQV9NQVNURVIJ MHgyMAorI2RlZmluZQkJQVRBX0JNU1RBVF9ETUFfU0xBVkUJMHg0MAorI2RlZmluZQkJQVRBX0JN U1RBVF9ETUFfU0lNUExFWAkweDgwCisKKyNkZWZpbmUJQVRBX0JNUFJEVF9YX1JFRwkJMHgwNAor I2RlZmluZQlBVEFfQk1QUkRUX1lfUkVHCQkweDBDCisKKy8qIFRoZSBDb21tYW5kIEJsb2NrIHJl Z2lzdGVycyAqLworI2RlZmluZQlBVEFfREFUQV9SRUcJCQkweDAwCisjZGVmaW5lCUFUQV9FUlJP Ul9SRUcJCQkweDAxCisjZGVmaW5lCQlBVEFfRV9JTEkJCTB4MDEgICAgLyogaWxsZWdhbCBsZW5n dGggKi8KKyNkZWZpbmUgICAgICAgICBBVEFfRV9BQk9SVCAgICAgICAgICAgICAweDA0ICAgIC8q IGNvbW1hbmQgYWJvcnRlZCAqLworI2RlZmluZQlBVEFfRkVBVFVSRVNfUkVHCQkweDAxCisjZGVm aW5lCUFUQV9TRUNDT1VOVF9SRUcJCTB4MDIKKyNkZWZpbmUJCUFUQV9JX0NNRAkJMHgwMSAgICAv KiBjbWQgKDEpIHwgZGF0YSAoMCkgKi8KKyNkZWZpbmUJCUFUQV9JX0lOCQkweDAyICAgIC8qIHJl YWQgKDEpIHwgd3JpdGUgKDApICovCisjZGVmaW5lCQlBVEFfSV9SRUxFQVNFCQkweDA0ICAgIC8q IHJlbGVhc2VkIGJ1cyAoMSkgKi8KKyNkZWZpbmUJQVRBX0xCQV9MT1dfUkVHCQkJMHgwMworI2Rl ZmluZQlBVEFfTEJBX01JRF9SRUcJCQkweDA0CisjZGVmaW5lCUFUQV9MQkFfSElHSF9SRUcJCTB4 MDUKKyNkZWZpbmUJQVRBX0hEREVWU0VMX1JFRwkJMHgwNgorI2RlZmluZQkJQVRBX0RfTEJBCQkw eDQwICAgIC8qIHVzZSBMQkEgYWRkcmVzc2luZyAqLworI2RlZmluZQkJQVRBX0RfSUJNCQkweGEw ICAgIC8qIDUxMiBieXRlIHNlY3RvcnMsIEVDQyAqLworI2RlZmluZQlBVEFfQ09NTUFORF9SRUcJ CQkweDA3CisjZGVmaW5lCUFUQV9TVEFUVVNfUkVHCQkJMHgwNworI2RlZmluZQkJQVRBX1NfQlVT WQkJMHg4MCAgICAvKiBidXN5ICovCisjZGVmaW5lCQlBVEFfU19SRUFEWQkJMHg0MCAgICAvKiBk cml2ZSByZWFkeSAqLworI2RlZmluZQkJQVRBX1NfRFdGCQkweDIwICAgIC8qIGRyaXZlIHdyaXRl IGZhdWx0ICovCisjZGVmaW5lCQlBVEFfU19EUlEJCTB4MDggICAgLyogZGF0YSByZXF1ZXN0ICov CisjZGVmaW5lCQlBVEFfU19EU0MJCTB4MTAgICAgLyogZHJpdmUgc2VlayBjb21wbGV0ZWQgKi8K KyNkZWZpbmUJCUFUQV9TX0VSUk9SCQkweDAxICAgIC8qIGVycm9yICovCisKKy8qIFRoZSBDb250 cm9sIEJsb2NrIHJlZ2lzdGVycyAqLworI2RlZmluZQlBVEFfQ09OVFJPTF9SRUcJCQkweDBDCisj ZGVmaW5lCQlBVEFfQV9JRFMJCTB4MDIgICAgLyogZGlzYWJsZSBpbnRlcnJ1cHRzICovCisjZGVm aW5lCQlBVEFfQV9SRVNFVAkJMHgwNCAgICAvKiBSRVNFVCBjb250cm9sbGVyICovCisjZGVmaW5l CUFUQV9BTFRTVEFUVVNfUkVHCQkweDBDCisKKyNkZWZpbmUgUkVBRF9UT0MJCQkweDQzCisKK3N0 cnVjdCBhdGFfY2hhbm5lbDsKKwordHlwZWRlZiB2b2lkICgqYXRhX2ludHJfZnVuY190KSh2b2lk ICphcmcpOwordHlwZWRlZiB2b2lkICgqYXRhX3Bpb19lbmRfdHJhbnNmZXJfZnVuY190KShzdHJ1 Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpOworCit0eXBlZGVmIGVudW0geworCUFUQV9IRCwKKwlB VEFQSV9DRCwKKwlBVEFfRFJJVkVfRU1QVFkKK30gYXRhX2RyaXZlX3R5cGU7CisKKy8qCisgKiBB VEEgZGF0YSBzdHJ1Y3R1cmVzCisgKi8KK3N0cnVjdCBhdGFfcGlvX2J1ZmZlciB7CisJdWludDhf dCAgZGF0YVtBVEFfSU5CVUZfU0laRV07CisJdWludDY0X3QgY3VycmVudF9wb3M7Cit9OworCitz dHJ1Y3QgYXRhX3Bpb19zZXR1cCB7CisJdWludDhfdCB1c2Vfd29yZDsKKwlzdHJ1Y3QgYmxvY2tp Zl9yZXEgYnJlcTsKKwlzdHJ1Y3QgYXRhX3Bpb19idWZmZXIgcGlvX2J1ZmZlcjsKKworCXVpbnQ2 NF90IHNpemVfdHJhbnNmZXI7CisJYXRhX3Bpb19lbmRfdHJhbnNmZXJfZnVuY190IGVuZF90cmFu c2ZlcjsKKwlzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWw7Cit9OworCitzdHJ1Y3QgcHJkX2Vu dHJ5IHsKKwl1aW50MzJfdCBwcmRfYWRkcmVzczsKKwl1aW50MTZfdCBieXRlX2NvdW50OworCXVp bnQxNl90IHZlbmRvcl9zcGVjaWZpYzsKK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwor CitzdHJ1Y3QgcGNpX2F0YV9kbWFfdHJhbnNhY3Rpb24geworCXN0cnVjdCBibG9ja2lmX3JlcSBi cmVxOworCXVpbnQ4X3QgaXNfZW90OworCXVpbnQ4X3Qgc3RhcnRlZDsKKwl1aW50NjRfdCBvZmZz ZXQ7CisJdWludDY0X3QgbmJ5dGVzOworCXVpbnQ4X3QgIG9wX2RpcjsKK307CisKK3N0cnVjdCBh dGFfZHJpdmUgeworCS8qIEFUQSBEcml2ZSBSZWdpc3RlcnMgKi8KKworCS8qIHRoZSBpbyBwb3J0 IHJhbmdlIHNpemUgPSAweDA4ICovCisJdWludDhfdCBkYXRhOworCXVpbnQ4X3QgZXJyb3I7CisJ dWludDhfdCBmZWF0dXJlczsKKwl1aW50OF90IHNlY2NvdW50OworCXVpbnQ4X3QgbGJhX2xvdzsK Kwl1aW50OF90IGxiYV9taWQ7CisJdWludDhfdCBsYmFfaGlnaDsKKwl1aW50OF90IGhkZGV2c2Vs OworCXVpbnQ4X3QgY29tbWFuZDsKKwl1aW50OF90IHN0YXR1czsKKworCS8qIHRoZSBhbHRwb3J0 IHJhbmdlIHNpemUgPSAweDAxICovCisJdWludDhfdCBhbHRzdGF0dXM7CisKKwlhdGFfZHJpdmVf dHlwZSB0eXBlOworCXVpbnQxNl90IGJ5dGVfY291bnQ7CisJdWludDY0X3Qgb2Zmc2V0OworCXVp bnQ2NF90IGNvdW50OworCXVpbnQ4X3QgaXJxX2Rpc2FibGVkOworCXN0cnVjdCBibG9ja2lmX2N0 eHQgKmJjdHh0OworCXN0cnVjdCBhdGFfcGlvX3NldHVwIHBpb19zZXR1cDsKK307CisKK3N0cnVj dCBhdGFfY2hhbm5lbCB7CisJLyogQVRBIENoYW5uZWwgU3RhdGUgVmFyaWFibGVzICovCisJdWlu dDMyX3Qgc2l6ZTsKKwl1aW50OF90IGludGVyZmFjZTsKKwl1aW50OF90IGRyaXZlOworCXVpbnQ4 X3QgaGFzX3NsYXZlOworCXVpbnQ4X3QgbW9kZTsKKwl1aW50OF90IHNlY3RvcnNfcGVyX2Jsb2Nr OworCXVpbnQ4X3QgdXNlXzE2Yml0OworCisJc3RydWN0IGJsb2NraWZfcmVxIGZsdXNoX2JyZXE7 CisKKwlzdHJ1Y3QgYXRhX2RyaXZlIGRyaXZlc1tBVEFfRFJJVkVTXTsKKworCXN0cnVjdCB2bWN0 eCAqdm1fY3R4OworCXZvaWQgKnByX3NjOworCisJLyogSW50ZXJydXB0cyBjYWxsYmFja3MgKFBD SSBvciBMUEMpICovCisJYXRhX2ludHJfZnVuY190IGludHJfYXNzZXJ0OworCWF0YV9pbnRyX2Z1 bmNfdCBpbnRyX2RlYXNzZXJ0OworCXVpbnQ4X3QgbGludHI7Cit9OworCitzdHJ1Y3QgcGNpX2F0 YV9zb2Z0YyB7CisJLyogQVRBIEJ1cyBNYXN0ZXIgUmVnaXN0ZXIgKi8KKwl1aW50OF90ICBjbWRb QVRBX0NIQU5ORUxTXTsKKwl1aW50OF90ICBzdGF0W0FUQV9DSEFOTkVMU107CisJdWludDMyX3Qg cHJkdFtBVEFfQ0hBTk5FTFNdOworCisJc3RydWN0IHBjaV9hdGFfZG1hX3RyYW5zYWN0aW9uIGRt YV90cmFuc2FjdGlvbnNbQVRBX0NIQU5ORUxTXTsKKworCXN0cnVjdCBwY2lfZGV2aW5zdCAqYXNj X3BpOworCXN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbHNbQVRBX0NIQU5ORUxTXTsKK307CisK K3N0cnVjdCBscGNfYXRhX3NvZnRjIHsKKwlzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWw7CisJ aW50IGlycTsKKwlpbnQgYmFzZV9hZGRyX2lvOworCWludCBiYXNlX2FkZHJfaW9jdGw7CisJY29u c3QgY2hhciAqbmFtZV9pbzsKKwljb25zdCBjaGFyICpuYW1lX2lvY3RsOworfTsKKworCisvKgor ICogQVRBIG1vZHVsZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMKKyAqLworc3RhdGljIHZvaWQKK2F0 YV9pcnFfcmFpc2Uoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKTsKK3N0YXRpYyB2b2lkCith dGFfaXJxX2xvd2VyKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CisKK3N0YXRpYyBhdGFf ZHJpdmVfdHlwZQorYXRhX2RyaXZlX3R5cGVfYnlfbmFtZShjaGFyICpkcml2ZV9uYW1lKTsKK3N0 YXRpYyBpbnQKK2F0YV9wYXJzZV9wYXJhbXMoY29uc3QgY2hhciAqb3B0cywgaW50ICpjaGFubmVs LCBjaGFyICpkaXNrX21hc3RlciwKKwkJIGNoYXIgKmRpc2tfc2xhdmUsIHVpbnQ4X3QgKmhhc19z bGF2ZSk7CitzdGF0aWMgc3RydWN0IGF0YV9jaGFubmVsICoKK2F0YV9pbml0KHN0cnVjdCB2bWN0 eCAqY3R4LCBhdGFfaW50cl9mdW5jX3QgaW50cl9hc3NlcnQsIGF0YV9pbnRyX2Z1bmNfdCBpbnRy X2RlYXNzZXJ0LCB2b2lkICpwcl9zYywKKwkgY29uc3QgY2hhciAqb3B0cywgdWludDhfdCBpc2Ff YXQpOworCitzdGF0aWMgdm9pZAorYXRhX3Nyc3Qoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVs KTsKK3N0YXRpYyB2b2lkCithdGFfaW5pdGlhbGl6ZV9pZGVudChzdHJ1Y3QgYXRhX2NoYW5uZWwg KmNoYW5uZWwpOworc3RhdGljIHZvaWQKK2F0YV9hdGFwaV9pbml0aWFsaXplX2lkZW50KHN0cnVj dCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CisKK3N0YXRpYyBpbnQKK2F0YV9jaGFubmVsX2lzX29r KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwgdWludDhfdCBjaCk7CitzdGF0aWMgaW50Cith dGFfc2VsZWN0X2RyaXZlX2lzX29rKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0 aWMgdm9pZAorYXRhX3NldF9zdGF0dXNfb2soc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKTsK K3N0YXRpYyB2b2lkCithdGFfc2V0X2RhdGFfYmxvY2tfcmVhZHkoc3RydWN0IGF0YV9jaGFubmVs ICpjaGFubmVsKTsKK3N0YXRpYyB2b2lkCithdGFfY29tbWFuZF9hYm9ydGVkKHN0cnVjdCBhdGFf Y2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0aWMgdm9pZAorYXRhX3NldF9zaWduYXR1cmUoc3RydWN0 IGF0YV9kcml2ZSAqZHJpdmUpOworCitzdGF0aWMgdm9pZAorYXRhX2FkZHJlc3Npbmdfc2VjX2Nv dW50KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwgdWludDE2X3QgKnBfc2VjdG9yX2NvdW50 KTsKK3N0YXRpYyB2b2lkCithdGFfYWRkcmVzc2luZ18yOF9sYmEoc3RydWN0IGF0YV9jaGFubmVs ICpjaGFubmVsLCB1aW50MzJfdCAqcF9sYmFfYWRkcmVzcyk7CisKK3N0YXRpYyB2b2lkCithdGFf aW5pdF9ibG9ja19yZXF1ZXN0KHN0cnVjdCBibG9ja2lmX3JlcSAqYnJlcSwgc3RydWN0IGF0YV9j aGFubmVsICpjaGFubmVsLAorCQkgICAgICAgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBuYnl0 ZXMsIHZvaWQgKmJ1ZmZlcik7CitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV9ibG9ja19yZXF1ZXN0 KHN0cnVjdCBibG9ja2lmX3JlcSAqcmVxLCBpbnQgZXJyKTsKKworc3RhdGljIHZvaWQKK2F0YV9w aW9fZG9fdHJhbnNmZXIoc3RydWN0IGF0YV9waW9fc2V0dXAgKnBpb19zZXR1cCwgdWludDY0X3Qg c2l6ZV90cmFuc2ZlciwKKwkJICAgICBhdGFfcGlvX2VuZF90cmFuc2Zlcl9mdW5jX3QgZW5kX3Ry YW5zZmVyLCB1aW50OF90IHVzZV93b3JkKTsKK3N0YXRpYyBpbnQKK2F0YV9waW9faW5fcHJvZ3Jl c3Moc3RydWN0IGF0YV9waW9fc2V0dXAgKnBpb19zZXR1cCk7CitzdGF0aWMgdWludDhfdCAqCith dGFfcGlvX2dldF9idWZmZXJfZGF0YShzdHJ1Y3QgYXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwKTsK K3N0YXRpYyB2b2lkCithdGFfcGlvX2NoZWNrX2VuZF90cmFuc2ZlcihzdHJ1Y3QgYXRhX3Bpb19z ZXR1cCAqcGlvX3NldHVwKTsKK3N0YXRpYyB1aW50MzJfdAorYXRhX3Bpb19nZXRfdWludChzdHJ1 Y3QgYXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwKTsKK3N0YXRpYyB2b2lkCithdGFfcGlvX3B1dF91 aW50KHN0cnVjdCBhdGFfcGlvX3NldHVwICpwaW9fc2V0dXAsIHVpbnQzMl90IHdyaXRlX3ZhbHVl KTsKK3N0YXRpYyB2b2lkCithdGFfcGlvX2dlbmVyaWNfZW5kX3RyYW5zZmVyKHN0cnVjdCBhdGFf Y2hhbm5lbCAqY2hhbm5lbCk7CisKK3N0YXRpYyB2b2lkCithdGFfcmVhZF9tdWx0aXBsZV9ibG9j a19kb25lKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0aWMgdm9pZAorYXRhX3dy aXRlX211bHRpcGxlX2Jsb2NrX2RvbmUoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKTsKKwor c3RhdGljIHZvaWQKK2F0YV9hdGFwaV9oYW5kbGVfcmVhZF9kb25lKHN0cnVjdCBhdGFfY2hhbm5l bCAqY2hhbm5lbCk7CisKK3N0YXRpYyB2b2lkCithdGFfaGFuZGxlX2lkZW50aWZ5KHN0cnVjdCBh dGFfY2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV9zZXRmZWF0dXJl cyhzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpOworc3RhdGljIHZvaWQKK2F0YV9oYW5kbGVf c2V0X211bHRpKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0aWMgdm9pZAorYXRh X2hhbmRsZV9yZWFkX211bHRpcGxlKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0 aWMgdm9pZAorYXRhX2hhbmRsZV9yZWFkX3ZlcmlmeShzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5u ZWwpOworc3RhdGljIHZvaWQKK2F0YV9oYW5kbGVfd3JpdGVfbXVsdGlwbGUoc3RydWN0IGF0YV9j aGFubmVsICpjaGFubmVsKTsKK3N0YXRpYyB2b2lkCithdGFfaGFuZGxlX2RtYShzdHJ1Y3QgYXRh X2NoYW5uZWwgKmNoYW5uZWwsIHVpbnQ4X3Qgb3BfZGlyKTsKK3N0YXRpYyB2b2lkCithdGFfaGFu ZGxlX2ZsdXNoY2FjaGUoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKTsKK3N0YXRpYyB2b2lk CithdGFfaGFuZGxlX3NlZWsoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKTsKK3N0YXRpYyB2 b2lkCithdGFfaGFuZGxlX2F0YXBpX2lkZW50aWZ5KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5l bCk7CitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV9wYWNrZXRfY21kKHN0cnVjdCBhdGFfY2hhbm5l bCAqY2hhbm5lbCk7CitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV9jbWQoc3RydWN0IGF0YV9jaGFu bmVsICpjaGFubmVsLCB1aW50OF90IGNtZCk7CisKK3N0YXRpYyB2b2lkCithdGFfYXRhcGlfZGF0 YV9yZXF1ZXN0KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0aWMgdm9pZAorYXRh X2F0YXBpX2NtZF9kb25lKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCk7CitzdGF0aWMgdm9p ZAorYXRhX2F0YXBpX2hhbmRsZV9pbnF1aXJ5KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwg dWludDhfdCAqcGFja2V0KTsKK3N0YXRpYyB2b2lkCithdGFfYXRhcGlfaGFuZGxlX3JlYWRfY2Fw YWNpdHkoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsLCB1aW50OF90ICpwYWNrZXQpOworc3Rh dGljIHZvaWQKK2F0YV9hdGFwaV9oYW5kbGVfcmVhZF90b2Moc3RydWN0IGF0YV9jaGFubmVsICpj aGFubmVsLCB1aW50OF90ICpwYWNrZXQpOworc3RhdGljIHZvaWQKK2F0YV9hdGFwaV9oYW5kbGVf cmVhZChzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwsIHVpbnQ4X3QgKnBhY2tldCk7CitzdGF0 aWMgdm9pZAorYXRhX2F0YXBpX2NtZChzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpOworCitz dGF0aWMgdWludDY0X3QKK2F0YV9jb21tYW5kX2Jsb2NrX3JlYWQoc3RydWN0IGF0YV9jaGFubmVs ICpjaGFubmVsLCB1aW50NjRfdCBvZmZzZXQpOworc3RhdGljIHZvaWQKK2F0YV9jb21tYW5kX2Js b2NrX3dyaXRlKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwKKwkJdWludDY0X3Qgb2Zmc2V0 LCBpbnQgc2l6ZSwgdWludDY0X3QgdmFsdWUpOworCitzdGF0aWMgdWludDY0X3QKK2F0YV9hbHRz dGF0dXNfcmVhZChzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpOworc3RhdGljIHZvaWQKK2F0 YV9jb250cm9sX3dyaXRlKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwKKwkJaW50IHNpemUs IHVpbnQ2NF90IHZhbHVlKTsKKworLyoKKyAqIFBDSSBBVEEgZnVuY3Rpb24gZGVjbGFyYXRpb25z CisgKi8KK3N0YXRpYyB2b2lkCitwY2lfYXRhX2ludHJfYXNzZXJ0KHZvaWQgKmFyZyk7CitzdGF0 aWMgdm9pZAorcGNpX2F0YV9pbnRyX2RlYXNzZXJ0KHZvaWQgKmFyZyk7CisKK3N0YXRpYyBpbnQK K3BjaV9hdGFfcGFyc2VfcGFyYW1zKGNvbnN0IGNoYXIgKm9wdHMsIGNoYXIgKm9wdDAsIGNoYXIg Km9wdDEsIHVpbnQ4X3QgKm5yX2NoYW5uZWxzKTsKK3N0YXRpYyBpbnQKK3BjaV9hdGFfaW5pdChz dHJ1Y3Qgdm1jdHggKmN0eCwgc3RydWN0IHBjaV9kZXZpbnN0ICpwaSwgY2hhciAqb3B0cywgaW50 IGF0YXBpKTsKK3N0YXRpYyBpbnQKK3BjaV9hdGFfaGRfaW5pdChzdHJ1Y3Qgdm1jdHggKmN0eCwg c3RydWN0IHBjaV9kZXZpbnN0ICpwaSwgY2hhciAqb3B0cyk7CisKK3N0YXRpYyB2b2lkCitwY2lf YXRhX2RtYV9zdGFydChzdHJ1Y3QgcGNpX2F0YV9zb2Z0YyAqc2MsIHVpbnQ4X3QgY2gpOworc3Rh dGljIHZvaWQKK3BjaV9hdGFfZG1hX3N0b3Aoc3RydWN0IHBjaV9hdGFfc29mdGMgKnNjLCB1aW50 OF90IGNoKTsKK3N0YXRpYyB1aW50NjRfdAorcGNpX2F0YV9idXNfbWFzdGVyX3JlYWQoc3RydWN0 IHBjaV9hdGFfc29mdGMgKnNjLCB1aW50NjRfdCBvZmZzZXQpOworc3RhdGljIHZvaWQKK3BjaV9h dGFfYnVzX21hc3Rlcl93cml0ZShzdHJ1Y3QgcGNpX2F0YV9zb2Z0YyAqc2MsCisJCXVpbnQ2NF90 IG9mZnNldCwgaW50IHNpemUsIHVpbnQ2NF90IHZhbHVlKTsKKworc3RhdGljIHVpbnQ2NF90Citw Y2lfYXRhX3JlYWQoc3RydWN0IHZtY3R4ICpjdHgsIGludCB2Y3B1LCBzdHJ1Y3QgcGNpX2Rldmlu c3QgKnBpLCBpbnQgYmFyaWR4LAorCQl1aW50NjRfdCBvZmZzZXQsIGludCBzaXplKTsKK3N0YXRp YyB2b2lkCitwY2lfYXRhX3dyaXRlKHN0cnVjdCB2bWN0eCAqY3R4LCBpbnQgdmNwdSwgc3RydWN0 IHBjaV9kZXZpbnN0ICpwaSwKKwkJaW50IGJhcmlkeCwgdWludDY0X3Qgb2Zmc2V0LCBpbnQgc2l6 ZSwgdWludDY0X3QgdmFsdWUpOworCisvKgorICogTFBDIEFUQSBmdW5jdGlvbiBkZWNsYXJhdGlv bnMKKyAqLworc3RhdGljIHZvaWQKK2xwY19hdGFfaW50cl9hc3NlcnQodm9pZCAqYXJnKTsKK3N0 YXRpYyB2b2lkCitscGNfYXRhX2ludHJfZGVhc3NlcnQodm9pZCAqYXJnKTsKKworaW50CitscGNf YXRhX2luaXQoc3RydWN0IHZtY3R4ICpjdHgsIGNvbnN0IGNoYXIgKm9wdHMpOworCitzdGF0aWMg aW50CitscGNfYXRhX2lvX2hhbmRsZXIoc3RydWN0IHZtY3R4ICpjdHgsIGludCB2Y3B1LAorCQkg ICBpbnQgaW4sIGludCBwb3J0LCBpbnQgYnl0ZXMsIHVpbnQzMl90ICplYXgsIHZvaWQgKmFyZyk7 CitzdGF0aWMgaW50CitscGNfYXRhX2lvY3RsX2hhbmRsZXIoc3RydWN0IHZtY3R4ICpjdHgsIGlu dCB2Y3B1LAorCQkgICBpbnQgaW4sIGludCBwb3J0LCBpbnQgYnl0ZXMsIHVpbnQzMl90ICplYXgs IHZvaWQgKmFyZyk7CisKKworLyoKKyAqIEFUQSBnbG9iYWwgZGF0YQorICovCitzdHJ1Y3QgcGNp X2RldmVtdSBwY2lfZGVfYXRhX2hkID0geworCS5wZV9lbXUgPQkiYXRhLWhkIiwKKwkucGVfaW5p dCA9CXBjaV9hdGFfaGRfaW5pdCwKKwkucGVfYmFyd3JpdGUgPQlwY2lfYXRhX3dyaXRlLAorCS5w ZV9iYXJyZWFkID0JcGNpX2F0YV9yZWFkCit9OworUENJX0VNVUxfU0VUKHBjaV9kZV9hdGFfaGQp OworCitzdGF0aWMgc3RydWN0IGxwY19hdGFfc29mdGMgbHBjX2F0YV9zY1tBVEFfQ0hBTk5FTFNd ID0geworCXtOVUxMLCAxNCwgMHgxZjAsIDB4M2Y2LCAiYXRhMF9pb3BvcnQiLCAiYXRhMF9pb2N0 bHBvcnQifSwKKwl7TlVMTCwgMTUsIDB4MTcwLCAweDM3NiwgImF0YTFfaW9wb3J0IiwgImF0YTFf aW9jdGxwb3J0In0KK307CisKKworLyoKKyAqIEFUQSBtb2R1bGUgZnVuY3Rpb24gZGVmaW5pdGlv bnMKKyAqLworc3RhdGljIHZvaWQKK2F0YV9pcnFfcmFpc2Uoc3RydWN0IGF0YV9jaGFubmVsICpj aGFubmVsKQoreworCXVpbnQ4X3QgaXJxX2Rpc2FibGVkOworCisJaXJxX2Rpc2FibGVkID0gY2hh bm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXS5pcnFfZGlzYWJsZWQ7CisKKwlpZiAoIWlycV9k aXNhYmxlZCAmJiAhY2hhbm5lbC0+bGludHIpIHsKKwkJY2hhbm5lbC0+bGludHIgPSAxOworCQlj aGFubmVsLT5pbnRyX2Fzc2VydChjaGFubmVsLT5wcl9zYyk7CisJfQorCisJcmV0dXJuOworfQor CitzdGF0aWMgdm9pZAorYXRhX2lycV9sb3dlcihzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwp Cit7CisJaWYgKGNoYW5uZWwtPmxpbnRyKSB7CisJCWNoYW5uZWwtPmxpbnRyID0gMDsKKwkJY2hh bm5lbC0+aW50cl9kZWFzc2VydChjaGFubmVsLT5wcl9zYyk7CisJfQorCisJcmV0dXJuOworfQor CitzdGF0aWMgYXRhX2RyaXZlX3R5cGUKK2F0YV9kcml2ZV90eXBlX2J5X25hbWUoY2hhciAqZHJp dmVfbmFtZSkKK3sKKwlpbnQgaSwgbGVuOworCWNoYXIgKmV4dCA9IE5VTEw7CisKKwlpZiAoIWRy aXZlX25hbWUpCisJCXJldHVybiBBVEFfRFJJVkVfRU1QVFk7CisKKwlsZW4gPSBzdHJsZW4oZHJp dmVfbmFtZSk7CisKKwlmb3IgKGkgPSBsZW4gLSAxOyBpID49IDA7IGktLSkgeworCQlpZiAoZHJp dmVfbmFtZVtpXSA9PSAnLicpIHsKKwkJCWV4dCA9IGRyaXZlX25hbWUgKyBpICsgMTsKKwkJCWlm IChzdHJjbXAoZXh0LCAiaXNvIikgPT0gMCkKKwkJCQlyZXR1cm4gQVRBUElfQ0Q7CisJCQlicmVh azsKKwkJfQorCX0KKworCXJldHVybiBBVEFfSEQ7Cit9CisKK3N0YXRpYyBpbnQKK2F0YV9wYXJz ZV9wYXJhbXMoY29uc3QgY2hhciAqb3B0cywgaW50ICpjaGFubmVsLCBjaGFyICpkaXNrX21hc3Rl ciwKKwkJIGNoYXIgKmRpc2tfc2xhdmUsIHVpbnQ4X3QgKmhhc19zbGF2ZSkKK3sKKwl1aW50OF90 IGxlbjsKKwljaGFyIHBhcmFtWzY0XTsKKwljaGFyICpwYXJhbXNbM107CisJdWludDhfdCBpLCBq OworCWludCBjaDsKKworCXBhcmFtc1swXSA9IE5VTEw7CisJcGFyYW1zWzFdID0gTlVMTDsKKwlw YXJhbXNbMl0gPSBOVUxMOworCisJaWYgKCFvcHRzKSB7CisJCWRwcmludChMT0dfRVJSLCAiYXRh X3BhcnNlX3BhcmFtczogb3B0cyBzaG91bGQgYmUgbGlrZTogWCxNQVNURVJbLFNMQVZFXVxuIik7 CisJCXJldHVybiAtMTsKKwl9CisKKwlsZW4gPSBzdHJsZW4ob3B0cyk7CisJaWYgKGxlbiA+PSA2 NCkgeworCQlkcHJpbnQoTE9HX0VSUiwgImF0YV9wYXJzZV9wYXJhbXM6IEFUQSBzdHJpbmcgcGFy YW0gdG9vIGJpZ1xuIik7CisJCXJldHVybiAtMTsKKwl9CisKKwlzdHJjcHkocGFyYW0sIG9wdHMp OworCisJaiA9IDA7CisJcGFyYW1zW2pdID0gcGFyYW07CisJZm9yIChpID0gMDsgaSA8IGxlbjsg aSsrKSB7CisJCWlmIChwYXJhbVtpXSA9PSAnLCcpIHsKKwkJCWorKzsKKwkJCWlmIChqID4gMikg eworCQkJCWRwcmludChMT0dfRVJSLCAiYXRhX3BhcnNlX3BhcmFtczogdG8gbWFueSBwYXJhbXNc biIpOworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJCXBhcmFtW2ldID0gJ1wwJzsKKwkJCXBhcmFt c1tqXSA9IHBhcmFtICsgaSArIDE7CisJCX0KKwl9CisKKwljaCA9IGF0b2kocGFyYW1zWzBdKTsK KwlpZiAoY2ggIT0gQVRBX1ggJiYgY2ggIT0gQVRBX1kpIHsKKwkJZHByaW50KExPR19FUlIsICJh dGFfcGFyc2VfcGFyYW1zOiB0aGUgY2hhbm5lbCBzaG91bGQgYmUgMCBvciAxXG4iKTsKKwkJcmV0 dXJuIC0xOworCX0KKwkqY2hhbm5lbCA9IGNoOworCisJaWYgKHBhcmFtc1sxXSA9PSBOVUxMIHx8 IHN0cmxlbihwYXJhbXNbMV0pID49IDMyKSB7CisJCWRwcmludChMT0dfRVJSLCAiYXRhX3BhcnNl X3BhcmFtczogdGhlIG5hbWUgb2YgTUFTVEVSIHNob3VsZCBiZSBnaXZlblxuIik7CisJCXJldHVy biAtMTsKKwl9CisJc3RyY3B5KGRpc2tfbWFzdGVyLCBwYXJhbXNbMV0pOworCisJaWYgKHBhcmFt c1syXSAhPSBOVUxMICYmIHN0cmxlbihwYXJhbXNbMl0pIDwgMzIpIHsKKwkJc3RyY3B5KGRpc2tf c2xhdmUsICBwYXJhbXNbMl0pOworCQkqaGFzX3NsYXZlID0gMTsKKwl9CisKKwlyZXR1cm4gMDsK KworfQorCitzdGF0aWMgc3RydWN0IGF0YV9jaGFubmVsICoKK2F0YV9pbml0KHN0cnVjdCB2bWN0 eCAqY3R4LCBhdGFfaW50cl9mdW5jX3QgaW50cl9hc3NlcnQsIGF0YV9pbnRyX2Z1bmNfdCBpbnRy X2RlYXNzZXJ0LCB2b2lkICpwcl9zYywKKwkgY29uc3QgY2hhciAqb3B0cywgdWludDhfdCBpc2Ff YXQpCit7CisJY2hhciBiaWRlbnRbc2l6ZW9mKCJYWDpYOlg6WCIpXTsKKwlzdHJ1Y3QgYmxvY2tp Zl9jdHh0ICpiY3R4dCA9IE5VTEwsICpiY3R4dF9zID0gTlVMTDsKKwlzdHJ1Y3QgYXRhX2NoYW5u ZWwgKmNoYW5uZWwgPSBOVUxMOworCWludCByZXQ7CisJaW50IGNoX2F0YSA9IC0xOworCWNoYXIg ZGlza19tYXN0ZXJbMzJdOworCWNoYXIgZGlza19zbGF2ZVszMl07CisJdWludDhfdCBoYXNfc2xh dmUgPSAwOworCWF0YV9kcml2ZV90eXBlIG1hc3Rlcl90eXBlID0gQVRBX0RSSVZFX0VNUFRZOwor CWF0YV9kcml2ZV90eXBlIHNsYXZlX3R5cGUgPSBBVEFfRFJJVkVfRU1QVFk7CisKKwlyZXQgPSBh dGFfcGFyc2VfcGFyYW1zKG9wdHMsICZjaF9hdGEsIGRpc2tfbWFzdGVyLCBkaXNrX3NsYXZlLCAm aGFzX3NsYXZlKTsKKwlpZiAocmV0ICE9IDApIHsKKwkJZHByaW50KExPR19FUlIsICJhdGFfaW5p dDogc29tZSBlcnJvcnMgd2l0aCB0aGUgaW5wdXQgY2hlY2tpbmdcbiIpOworCQlyZXR1cm4gTlVM TDsKKwl9CisKKwlkcHJpbnQoTE9HX0RFQlVHLCAiYXRhX2luaXQ6IGNoX2F0YTogJWRcbiIsIGNo X2F0YSk7CisKKwkvKgorCSAqIEF0dGVtcHQgdG8gb3BlbiB0aGUgYmFja2luZyBpbWFnZXMuIFVz ZSB0aGUKKwkgKiAiUENJL0lTQTpjaDpkcml2ZSIgZm9yIHRoZSBpZGVudGlmaWVyIHN0cmluZy4K KwkgKi8KKwlzbnByaW50ZihiaWRlbnQsIHNpemVvZihiaWRlbnQpLCAiJWQ6JWQ6JWQiLCBpc2Ff YXQsIGNoX2F0YSwgQVRBX01BU1RFUik7CisJYmN0eHQgPSBibG9ja2lmX29wZW4oZGlza19tYXN0 ZXIsIGJpZGVudCk7CisJaWYgKGJjdHh0ID09IE5VTEwpIHsKKwkJZ290byBvcGVuX2ZhaWw7CisJ fQorCisJbWFzdGVyX3R5cGUgPSBhdGFfZHJpdmVfdHlwZV9ieV9uYW1lKGRpc2tfbWFzdGVyKTsK KwlkcHJpbnQoTE9HX0RFQlVHLCAiYXRhX2luaXQ6IGRpc2tfbWFzdGVyOiAlcyB0eXBlOiAlc1xu IiwKKwkgICAgICAgZGlza19tYXN0ZXIsIG1hc3Rlcl90eXBlID09IEFUQV9IRCA/ICJhdGFfaGQi IDogImF0YXBpX2NkIik7CisKKwlpZiAoaGFzX3NsYXZlKSB7CisJCXNucHJpbnRmKGJpZGVudCwg c2l6ZW9mKGJpZGVudCksICIlZDolZDolZCIsIGlzYV9hdCwgY2hfYXRhLCBBVEFfU0xBVkUpOwor CQliY3R4dF9zID0gYmxvY2tpZl9vcGVuKGRpc2tfc2xhdmUsIGJpZGVudCk7CisJCWlmIChiY3R4 dF9zID09IE5VTEwpIHsKKwkJCXJldCA9IDE7CisJCQlnb3RvIG9wZW5fZmFpbDsKKwkJfQorCisJ CXNsYXZlX3R5cGUgPSBhdGFfZHJpdmVfdHlwZV9ieV9uYW1lKGRpc2tfc2xhdmUpOworCQlkcHJp bnQoTE9HX0RFQlVHLCAiYXRhX2luaXQ6IGRpc2tfc2xhdmU6ICVzIHR5cGU6ICVzXG4iLAorCQkg ICAgICAgZGlza19zbGF2ZSwgc2xhdmVfdHlwZSA9PSBBVEFfSEQgPyAiYXRhX2hkIiA6ICJhdGFw aV9jZCIpOworCX0KKworCWRwcmludChMT0dfREVCVUcsICJhdGFfaW5pdDogb3B0czogJXMsIGF0 YXBpOiAlZFxuIiwgb3B0cywgMCk7CisKKwljaGFubmVsID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1 Y3QgYXRhX2NoYW5uZWwpKTsKKworCWNoYW5uZWwtPnZtX2N0eCA9IGN0eDsKKwljaGFubmVsLT5p bnRlcmZhY2UgPSBjaF9hdGE7CisJY2hhbm5lbC0+aGFzX3NsYXZlID0gaGFzX3NsYXZlOworCisJ Y2hhbm5lbC0+ZHJpdmVzW0FUQV9NQVNURVJdLnR5cGUgPSBtYXN0ZXJfdHlwZTsKKwljaGFubmVs LT5kcml2ZXNbQVRBX1NMQVZFXS50eXBlID0gc2xhdmVfdHlwZTsKKworCWNoYW5uZWwtPmRyaXZl c1tBVEFfTUFTVEVSXS5iY3R4dCA9IGJjdHh0OworCWNoYW5uZWwtPmRyaXZlc1tBVEFfU0xBVkVd LmJjdHh0ICA9IGJjdHh0X3M7CisKKwljaGFubmVsLT5kcml2ZXNbQVRBX01BU1RFUl0ucGlvX3Nl dHVwLmNoYW5uZWwgPSBjaGFubmVsOworCWNoYW5uZWwtPmRyaXZlc1tBVEFfU0xBVkVdLnBpb19z ZXR1cC5jaGFubmVsICA9IGNoYW5uZWw7CisKKwljaGFubmVsLT5pbnRyX2Fzc2VydCA9IGludHJf YXNzZXJ0OworCWNoYW5uZWwtPmludHJfZGVhc3NlcnQgPSBpbnRyX2RlYXNzZXJ0OworCWNoYW5u ZWwtPnByX3NjID0gcHJfc2M7CisKKwlyZXR1cm4gY2hhbm5lbDsKKworb3Blbl9mYWlsOgorCWlm IChyZXQpIHsKKwkJYmxvY2tpZl9jbG9zZShiY3R4dCk7CisJCWlmIChiY3R4dF9zICE9IE5VTEwp IHsKKwkJCWJsb2NraWZfY2xvc2UoYmN0eHRfcyk7CisJCX0KKwl9CisKKwlyZXR1cm4gTlVMTDsK K30KKworc3RhdGljIHZvaWQKK2F0YV9zcnN0KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCkK K3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9IE5VTEw7CisJaW50IGRldjsKKworCWRwcmlu dChMT0dfREVCVUcsICJhdGFfc3JzdDogU29mdHdhcmUgUmVzZXRcbiIpOworCisJZm9yIChkZXYg PSAwOyBkZXYgPCBBVEFfRFJJVkVTOyBkZXYrKykgeworCQlkcml2ZSA9ICZjaGFubmVsLT5kcml2 ZXNbZGV2XTsKKworCQlpZiAoZHJpdmUtPnR5cGUgIT0gQVRBX0RSSVZFX0VNUFRZKSB7CisKKwkJ CWRyaXZlLT5lcnJvciAgPSBBVEFfRV9JTEk7CisJCQlkcml2ZS0+c3RhdHVzID0gQVRBX1NfUkVB RFk7CisKKwkJCWF0YV9zZXRfc2lnbmF0dXJlKGRyaXZlKTsKKwkJfQorCX0KKworCXJldHVybjsK K30KKworc3RhdGljIHZvaWQKK2F0YV9pbml0aWFsaXplX2lkZW50KHN0cnVjdCBhdGFfY2hhbm5l bCAqY2hhbm5lbCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9ICZjaGFubmVsLT5kcml2 ZXNbY2hhbm5lbC0+ZHJpdmVdOworCXN0cnVjdCBibG9ja2lmX2N0eHQgKmJjdHh0ID0gTlVMTDsK KwlzdHJ1Y3QgYXRhX3BhcmFtcyAqaWRlbnRfZGF0YSA9IE5VTEw7CisJc3RydWN0IGF0YV9waW9f c2V0dXAgKnBpb19zZXR1cCA9IE5VTEw7CisKKwl1aW50MTZfdCBjeWxpbmRlcnM7CisJdWludDhf dCAgaGVhZHM7CisJdWludDhfdCAgc2VjdG9yczsKKwl1aW50MzJfdCB0b3RhbF9zZWN0b3JzOwor CisJYmN0eHQgPSBkcml2ZS0+YmN0eHQ7CisJcGlvX3NldHVwID0gJmRyaXZlLT5waW9fc2V0dXA7 CisJaWRlbnRfZGF0YSA9IChzdHJ1Y3QgYXRhX3BhcmFtcyAqKWF0YV9waW9fZ2V0X2J1ZmZlcl9k YXRhKHBpb19zZXR1cCk7CisKKwl0b3RhbF9zZWN0b3JzID0gYmxvY2tpZl9zaXplKGJjdHh0KSAv IEFUQV9TRUNUT1JfU0laRTsKKworCW1lbXNldChpZGVudF9kYXRhLCAwLCBzaXplb2Yoc3RydWN0 IGF0YV9wYXJhbXMpKTsKKworCS8qIE51bWJlciBvZiBzZWN0b3JzIHBlciBibG9jayB1c2VkIGlu IHJlYWQgLyB3cml0ZSBtdWx0aSBjb21tYW5kcyAqLworCWlkZW50X2RhdGEtPnNlY3RvcnNfaW50 ciB8PSAweDgwIDw8IDg7CisJaWRlbnRfZGF0YS0+c2VjdG9yc19pbnRyIHw9IEFUQV9TRUNUT1JT X1BFUl9CTE9DSzsKKworCS8qIFVzZSBETUEyIG1vZGUgKi8KKwlpZGVudF9kYXRhLT5jYXBhYmls aXRpZXMxIHw9IEFUQV9TVVBQT1JUX0RNQTsKKwlpZGVudF9kYXRhLT5td2RtYW1vZGVzIHw9IEFU QV9XX0RNQTI7CisKKwkvKiBVc2UgUElPNCBtb2RlICovCisJaWRlbnRfZGF0YS0+YXRhdmFsaWQg IHw9IEFUQV9GTEFHXzY0XzcwOworCWlkZW50X2RhdGEtPmFwaW9tb2RlcyB8PSBBVEFfTU9ERV9Q SU80OworCisJLyogV2UgdXNlIDI4LWJpdCBMQkEgYWRkcmVzc2luZyBiZWNhdXNlIENIUyBhZGRy ZXNzaW5nIGlzIG9ic29sZXRlIGluIEFUQS9BVEFQSSA2ICovCisJaWRlbnRfZGF0YS0+Y2FwYWJp bGl0aWVzMSB8PSBBVEFfU1VQUE9SVF9MQkE7CisJaWRlbnRfZGF0YS0+bGJhX3NpemVfMSA9IHRv dGFsX3NlY3RvcnM7CisJaWRlbnRfZGF0YS0+bGJhX3NpemVfMiA9IHRvdGFsX3NlY3RvcnMgPj4g MTY7CisKKwkvKiBTdXBwb3J0IHdyaXRlLXJlYWQtdmVyaWZ5ICovCisJaWRlbnRfZGF0YS0+c3Vw cG9ydDIgfD0gQVRBX1NVUFBPUlRfV1JJVEVSRUFEVkVSSUZZOworCWlkZW50X2RhdGEtPmVuYWJs ZWQyIHw9IEFUQV9TVVBQT1JUX1dSSVRFUkVBRFZFUklGWTsKKworCS8qIFN1cHBvcnQgQVRBIEZM VVNIQ0FDSEUgKi8KKwlpZGVudF9kYXRhLT5zdXBwb3J0LmNvbW1hbmQyIHw9IEFUQV9TVVBQT1JU X0ZMVVNIQ0FDSEU7CisJaWRlbnRfZGF0YS0+ZW5hYmxlZC5jb21tYW5kMiB8PSBBVEFfU1VQUE9S VF9GTFVTSENBQ0hFOworCisJLyogTWFqb3IgdmVyc2lvbiBudW1iZXIgPSBBVEEvQVRBUEktNiAq LworCWlkZW50X2RhdGEtPnZlcnNpb25fbWFqb3IgfD0gQVRBX0FUQVBJXzY7CisKKwkvKiBUaGlz IGluZm9ybWF0aW9uIGFyZSB1c2VkIG9ubHkgZm9yIHByaW50aW5nIHB1cnBvc2VzICovCisJYmxv Y2tpZl9jaHMoYmN0eHQsICZjeWxpbmRlcnMsICZoZWFkcywgJnNlY3RvcnMpOworCisJaWRlbnRf ZGF0YS0+Y3lsaW5kZXJzID0gY3lsaW5kZXJzOworCWlkZW50X2RhdGEtPmhlYWRzICAgICA9IGhl YWRzOworCWlkZW50X2RhdGEtPnNlY3RvcnMgICA9IHNlY3RvcnM7CisKKwkvKiBNb2RlbDogQkhZ VkUgQVRBIElERSBESVNLICovCisJbWVtY3B5KGlkZW50X2RhdGEtPm1vZGVsLCAgICAiSEJWWSBF VEEgQURJIEVJREtTICAgICAgICAgICAgICAgICAgICAgICIsIDQwKTsKKwkvKiBTZXJpYWwgbnVt YmVyOiAxMjM0NTYgKi8KKwltZW1jcHkoaWRlbnRfZGF0YS0+c2VyaWFsLCAgICIyMTQzNjUgICAg ICAgICAgICAgICIsIDIwKTsKKwkvKiBGaXJtd2FyZSB2ZXJzaW9uOiAxLjAgKi8KKwltZW1jcHko aWRlbnRfZGF0YS0+cmV2aXNpb24sICIuMSAwICAgICIsIDgpOworCisJZHByaW50KExPR19ERUJV RywgImF0YV9pbml0aWFsaXplX2lkZW50OiBjaGFubmVsOiAlZCwgZHJpdmU6ICVkIEM6ICVkLCBI OiAlZCwgUzogJWQsIHRvdGFsX3NlY3RvcnM6ICVkXG4iLAorCQkJY2hhbm5lbC0+aW50ZXJmYWNl LCBjaGFubmVsLT5kcml2ZSwgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycywgdG90YWxfc2VjdG9y cyk7CisKKwlhdGFfcGlvX2RvX3RyYW5zZmVyKHBpb19zZXR1cCwgc2l6ZW9mKHN0cnVjdCBhdGFf cGFyYW1zKSwgYXRhX3Bpb19nZW5lcmljX2VuZF90cmFuc2ZlciwgY2hhbm5lbC0+dXNlXzE2Yml0 KTsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK2F0YV9hdGFwaV9pbml0aWFsaXplX2lk ZW50KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpk cml2ZSA9ICZjaGFubmVsLT5kcml2ZXNbY2hhbm5lbC0+ZHJpdmVdOworCXN0cnVjdCBhdGFfcGFy YW1zICppZGVudF9kYXRhID0gTlVMTDsKKwlzdHJ1Y3QgYXRhX3Bpb19zZXR1cCAqcGlvX3NldHVw ID0gTlVMTDsKKworCXBpb19zZXR1cCA9ICZkcml2ZS0+cGlvX3NldHVwOworCWlkZW50X2RhdGEg PSAoc3RydWN0IGF0YV9wYXJhbXMgKilhdGFfcGlvX2dldF9idWZmZXJfZGF0YShwaW9fc2V0dXAp OworCisJbWVtc2V0KGlkZW50X2RhdGEsIDAsIHNpemVvZihzdHJ1Y3QgYXRhX3BhcmFtcykpOwor CisJLyogQ0RST00gZGV2aWNlICovCisJaWRlbnRfZGF0YS0+Y29uZmlnIHw9IChBVEFfUFJPVE9f QVRBUElfMTIgfCBBVEFfQVRBUElfVFlQRV9DRFJPTSB8IEFUQV9EUlFfRkFTVCk7CisKKwkvKiBV c2UgRE1BMiBtb2RlICovCisJaWRlbnRfZGF0YS0+Y2FwYWJpbGl0aWVzMSB8PSBBVEFfU1VQUE9S VF9ETUE7CisJaWRlbnRfZGF0YS0+bXdkbWFtb2RlcyB8PSBBVEFfV19ETUEyOworCisJLyogVXNl IFBJTzQgbW9kZSAqLworCWlkZW50X2RhdGEtPmF0YXZhbGlkICB8PSBBVEFfRkxBR182NF83MDsK KwlpZGVudF9kYXRhLT5hcGlvbW9kZXMgfD0gQVRBX01PREVfUElPNDsKKworCS8qIFdlIHVzZSAy OC1iaXQgTEJBIGFkZHJlc3NpbmcgYmVjYXVzZSBDSFMgYWRkcmVzc2luZyBpcyBvYnNvbGV0ZSBp biBBVEEvQVRBUEkgNiAqLworCWlkZW50X2RhdGEtPmNhcGFiaWxpdGllczEgfD0gQVRBX1NVUFBP UlRfTEJBOworCisJLyogTWFqb3IgdmVyc2lvbiBudW1iZXIgPSBBVEEvQVRBUEktNiAqLworCWlk ZW50X2RhdGEtPnZlcnNpb25fbWFqb3IgfD0gQVRBX0FUQVBJXzY7CisKKwkvKiBNb2RlbDogQkhZ VkUgQVRBUEkgSURFIENEUk9NICovCisJbWVtY3B5KGlkZW50X2RhdGEtPm1vZGVsLCAgICAiSEJW WSBFVEFQQSBJREkgRURDT1IgTSAgICAgICAgICAgICAgICAgICIsIDQwKTsKKwkvKiBTZXJpYWwg bnVtYmVyOiAxMjM0NTYgKi8KKwltZW1jcHkoaWRlbnRfZGF0YS0+c2VyaWFsLCAgICIyMTQzNjUg ICAgICAgICAgICAgICIsIDIwKTsKKwkvKiBGaXJtd2FyZSB2ZXJzaW9uOiAxLjAgKi8KKwltZW1j cHkoaWRlbnRfZGF0YS0+cmV2aXNpb24sICIuMSAwICAgICIsIDgpOworCisJZHByaW50KExPR19E RUJVRywgImF0YV9hdGFwaV9pbml0aWFsaXplX2lkZW50OiBjaGFubmVsOiAlZCwgZHJpdmU6ICVk XG4iLAorCSAgICAgICBjaGFubmVsLT5pbnRlcmZhY2UsIGNoYW5uZWwtPmRyaXZlKTsKKworCWF0 YV9waW9fZG9fdHJhbnNmZXIocGlvX3NldHVwLCBzaXplb2Yoc3RydWN0IGF0YV9wYXJhbXMpLCBh dGFfcGlvX2dlbmVyaWNfZW5kX3RyYW5zZmVyLCBjaGFubmVsLT51c2VfMTZiaXQpOworCisJcmV0 dXJuOworfQorCitzdGF0aWMgaW50CithdGFfY2hhbm5lbF9pc19vayhzdHJ1Y3QgYXRhX2NoYW5u ZWwgKmNoYW5uZWwsIHVpbnQ4X3QgY2gpCit7CisJaWYgKGNoYW5uZWwtPmludGVyZmFjZSA9PSBj aCkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorYXRhX3NlbGVj dF9kcml2ZV9pc19vayhzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpCit7CisJaWYgKGNoYW5u ZWwtPmRyaXZlID09IEFUQV9TTEFWRSAmJiAhY2hhbm5lbC0+aGFzX3NsYXZlKSB7CisJCXJldHVy biAwOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZAorYXRhX3NldF9zdGF0dXNf b2soc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUgKmRy aXZlID0gJmNoYW5uZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisKKwlkcml2ZS0+c3RhdHVz ICY9IH5BVEFfU19CVVNZOworCWRyaXZlLT5zdGF0dXMgfD0gQVRBX1NfUkVBRFk7CisJZHJpdmUt PnN0YXR1cyAmPSB+QVRBX1NfRFdGOworCWRyaXZlLT5zdGF0dXMgJj0gfkFUQV9TX0RSUTsKKwlk cml2ZS0+c3RhdHVzICY9IH5BVEFfU19FUlJPUjsKKworCWRyaXZlLT5lcnJvciA9IDA7CisKKwly ZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCithdGFfc2V0X2RhdGFfYmxvY2tfcmVhZHkoc3RydWN0 IGF0YV9jaGFubmVsICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUgKmRyaXZlID0gJmNo YW5uZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisKKwlkcml2ZS0+YWx0c3RhdHVzICY9IH5B VEFfU19CVVNZOworCWRyaXZlLT5hbHRzdGF0dXMgfD0gQVRBX1NfRFJROworCWRyaXZlLT5hbHRz dGF0dXMgfD0gQVRBX1NfUkVBRFk7CisKKwlkcml2ZS0+c3RhdHVzIHw9IEFUQV9TX0RSUTsKKwor CXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK2F0YV9jb21tYW5kX2Fib3J0ZWQoc3RydWN0IGF0 YV9jaGFubmVsICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUgKmRyaXZlID0gJmNoYW5u ZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisKKwlkcml2ZS0+c3RhdHVzICY9IH5BVEFfU19C VVNZOworCWRyaXZlLT5zdGF0dXMgJj0gfkFUQV9TX0RSUTsKKwlkcml2ZS0+c3RhdHVzIHw9IEFU QV9TX0VSUk9SOworCisJZHJpdmUtPmVycm9yIHw9IEFUQV9FX0FCT1JUOworCisJcmV0dXJuOwor fQorCitzdGF0aWMgdm9pZAorYXRhX3NldF9zaWduYXR1cmUoc3RydWN0IGF0YV9kcml2ZSAqZHJp dmUpCit7CisJZHJpdmUtPnNlY2NvdW50ID0gMHgwMTsKKwlkcml2ZS0+bGJhX2xvdyAgPSAweDAx OworCisJaWYgKGRyaXZlLT50eXBlID09IEFUQV9IRCkgeworCQlkcml2ZS0+bGJhX21pZCAgPSAw eDAwOworCQlkcml2ZS0+bGJhX2hpZ2ggPSAweDAwOworCQlkcml2ZS0+aGRkZXZzZWwgPSAweDAw OworCX0KKwllbHNlIGlmIChkcml2ZS0+dHlwZSA9PSBBVEFQSV9DRCkgeworCQlkcml2ZS0+bGJh X21pZCAgPSBBVEFQSV9NQUdJQ19MU0I7CisJCWRyaXZlLT5sYmFfaGlnaCA9IEFUQVBJX01BR0lD X01TQjsKKwkJZHJpdmUtPmhkZGV2c2VsICY9IDB4MTA7CisJfQorCWVsc2UKKwkJYXNzZXJ0KDAp OworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2FkZHJlc3Npbmdfc2VjX2NvdW50 KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwgdWludDE2X3QgKnBfc2VjdG9yX2NvdW50KQor eworCXN0cnVjdCBhdGFfZHJpdmUgKmRyaXZlID0gJmNoYW5uZWwtPmRyaXZlc1tjaGFubmVsLT5k cml2ZV07CisJdWludDE2X3Qgc2VjdG9yX2NvdW50OworCisJc2VjdG9yX2NvdW50ID0gZHJpdmUt PnNlY2NvdW50ID8gZHJpdmUtPnNlY2NvdW50IDogQVRBX01BWF9TRUNfQ09VTlQ7CisJKnBfc2Vj dG9yX2NvdW50ID0gc2VjdG9yX2NvdW50OworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAor YXRhX2FkZHJlc3NpbmdfMjhfbGJhKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwgdWludDMy X3QgKnBfbGJhX2FkZHJlc3MpCit7CisJc3RydWN0IGF0YV9kcml2ZSAqZHJpdmUgPSAmY2hhbm5l bC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXTsKKwl1aW50MzJfdCBsYmFfYWRkcmVzcyA9IDA7CisK KwlsYmFfYWRkcmVzcyB8PSBkcml2ZS0+bGJhX2xvdzsKKwlsYmFfYWRkcmVzcyB8PSBkcml2ZS0+ bGJhX21pZCA8PCA4OworCWxiYV9hZGRyZXNzIHw9IGRyaXZlLT5sYmFfaGlnaCA8PCAxNjsKKwls YmFfYWRkcmVzcyB8PSAoZHJpdmUtPmhkZGV2c2VsICYgQVRBX0xCQV8yN18yNF9NQVNLKSA8PCAy NDsKKworCSpwX2xiYV9hZGRyZXNzID0gbGJhX2FkZHJlc3M7CisKKwlyZXR1cm47Cit9CisKK3N0 YXRpYyB2b2lkCithdGFfaW5pdF9ibG9ja19yZXF1ZXN0KHN0cnVjdCBibG9ja2lmX3JlcSAqYnJl cSwgc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsLAorCQkgICAgICAgdWludDY0X3Qgb2Zmc2V0 LCB1aW50NjRfdCBuYnl0ZXMsIHZvaWQgKmJ1ZmZlcikKK3sKKwlicmVxLT5icl9wYXJhbSA9IGNo YW5uZWw7CisJYnJlcS0+YnJfY2FsbGJhY2sgPSBhdGFfaGFuZGxlX2Jsb2NrX3JlcXVlc3Q7CisJ YnJlcS0+YnJfb2Zmc2V0ID0gb2Zmc2V0OworCWJyZXEtPmJyX2lvdmNudCA9IDE7CisJYnJlcS0+ YnJfaW92WzBdLmlvdl9sZW4gPSBuYnl0ZXM7CisJYnJlcS0+YnJfaW92WzBdLmlvdl9iYXNlID0g YnVmZmVyOworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV9ibG9ja19y ZXF1ZXN0KHN0cnVjdCBibG9ja2lmX3JlcSAqcmVxLCBpbnQgZXJyKQoreworCXN0cnVjdCBhdGFf Y2hhbm5lbCAqY2hhbm5lbCA9IChzdHJ1Y3QgYXRhX2NoYW5uZWwgKilyZXEtPmJyX3BhcmFtOwor CisJYXRhX3NldF9zdGF0dXNfb2soY2hhbm5lbCk7CisJYXRhX3NldF9kYXRhX2Jsb2NrX3JlYWR5 KGNoYW5uZWwpOworCWF0YV9pcnFfcmFpc2UoY2hhbm5lbCk7CisKKwlyZXR1cm47Cit9CisKK3N0 YXRpYyB2b2lkCithdGFfcGlvX2RvX3RyYW5zZmVyKHN0cnVjdCBhdGFfcGlvX3NldHVwICpwaW9f c2V0dXAsIHVpbnQ2NF90IHNpemVfdHJhbnNmZXIsCisJCSAgICAgYXRhX3Bpb19lbmRfdHJhbnNm ZXJfZnVuY190IGVuZF90cmFuc2ZlciwgdWludDhfdCB1c2Vfd29yZCkKK3sKKwlhc3NlcnQoc2l6 ZV90cmFuc2ZlciA8PSBBVEFfSU5CVUZfU0laRSk7CisJYXNzZXJ0KCFhdGFfcGlvX2luX3Byb2dy ZXNzKHBpb19zZXR1cCkpOworCisJcGlvX3NldHVwLT51c2Vfd29yZCA9IHVzZV93b3JkOworCXBp b19zZXR1cC0+cGlvX2J1ZmZlci5jdXJyZW50X3BvcyA9IDA7CisJcGlvX3NldHVwLT5zaXplX3Ry YW5zZmVyID0gc2l6ZV90cmFuc2ZlcjsKKwlwaW9fc2V0dXAtPmVuZF90cmFuc2ZlciA9IGVuZF90 cmFuc2ZlcjsKKworCXJldHVybjsKK30KKworc3RhdGljIGludAorYXRhX3Bpb19pbl9wcm9ncmVz cyhzdHJ1Y3QgYXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwKQoreworCXJldHVybiAoaW50KXBpb19z ZXR1cC0+ZW5kX3RyYW5zZmVyOworfQorCitzdGF0aWMgdWludDhfdCAqCithdGFfcGlvX2dldF9i dWZmZXJfZGF0YShzdHJ1Y3QgYXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwKQoreworCXJldHVybiBw aW9fc2V0dXAtPnBpb19idWZmZXIuZGF0YTsKK30KKworc3RhdGljIHZvaWQKK2F0YV9waW9fY2hl Y2tfZW5kX3RyYW5zZmVyKHN0cnVjdCBhdGFfcGlvX3NldHVwICpwaW9fc2V0dXApCit7CisJc3Ry dWN0IGF0YV9jaGFubmVsICpjaGFubmVsID0gcGlvX3NldHVwLT5jaGFubmVsOworCXN0cnVjdCBh dGFfcGlvX2J1ZmZlciAqcGlvX2J1ZmZlciA9ICZwaW9fc2V0dXAtPnBpb19idWZmZXI7CisJYXRh X3Bpb19lbmRfdHJhbnNmZXJfZnVuY190IGVuZF90cmFuc2ZlciA9IHBpb19zZXR1cC0+ZW5kX3Ry YW5zZmVyOworCisJaWYgKHBpb19idWZmZXItPmN1cnJlbnRfcG9zID09IHBpb19zZXR1cC0+c2l6 ZV90cmFuc2ZlcikgeworCQlwaW9fc2V0dXAtPmVuZF90cmFuc2ZlciA9IE5VTEw7CisJCWVuZF90 cmFuc2ZlcihjaGFubmVsKTsKKwl9CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB1aW50MzJfdAor YXRhX3Bpb19nZXRfdWludChzdHJ1Y3QgYXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwKQoreworCXN0 cnVjdCBhdGFfcGlvX2J1ZmZlciAqcGlvX2J1ZmZlciA9ICZwaW9fc2V0dXAtPnBpb19idWZmZXI7 CisJdWludDMyX3QgdmFsdWU7CisKKwlhc3NlcnQocGlvX2J1ZmZlci0+Y3VycmVudF9wb3MgPCBw aW9fc2V0dXAtPnNpemVfdHJhbnNmZXIpOworCisJaWYgKHBpb19zZXR1cC0+dXNlX3dvcmQpIHsK KwkJdmFsdWUgPSAqKHVpbnQxNl90ICopKHBpb19idWZmZXItPmRhdGEgKyBwaW9fYnVmZmVyLT5j dXJyZW50X3Bvcyk7CisJCXBpb19idWZmZXItPmN1cnJlbnRfcG9zICs9IHNpemVvZih1aW50MTZf dCk7CisJfQorCWVsc2UgeworCQl2YWx1ZSA9ICoodWludDMyX3QgKikocGlvX2J1ZmZlci0+ZGF0 YSArIHBpb19idWZmZXItPmN1cnJlbnRfcG9zKTsKKwkJcGlvX2J1ZmZlci0+Y3VycmVudF9wb3Mg Kz0gc2l6ZW9mKHVpbnQzMl90KTsKKwl9CisKKwlhdGFfcGlvX2NoZWNrX2VuZF90cmFuc2Zlcihw aW9fc2V0dXApOworCisJcmV0dXJuIHZhbHVlOworfQorCitzdGF0aWMgdm9pZAorYXRhX3Bpb19w dXRfdWludChzdHJ1Y3QgYXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwLCB1aW50MzJfdCB3cml0ZV92 YWx1ZSkKK3sKKwlzdHJ1Y3QgYXRhX3Bpb19idWZmZXIgKnBpb19idWZmZXIgPSAmcGlvX3NldHVw LT5waW9fYnVmZmVyOworCisJYXNzZXJ0KHBpb19idWZmZXItPmN1cnJlbnRfcG9zIDwgcGlvX3Nl dHVwLT5zaXplX3RyYW5zZmVyKTsKKworCWlmIChwaW9fc2V0dXAtPnVzZV93b3JkKSB7CisJCSoo dWludDE2X3QgKikocGlvX2J1ZmZlci0+ZGF0YSArIHBpb19idWZmZXItPmN1cnJlbnRfcG9zKSA9 ICh1aW50MTZfdCl3cml0ZV92YWx1ZTsKKwkJcGlvX2J1ZmZlci0+Y3VycmVudF9wb3MgKz0gc2l6 ZW9mKHVpbnQxNl90KTsKKwl9CisJZWxzZSB7CisJCSoodWludDMyX3QgKikocGlvX2J1ZmZlci0+ ZGF0YSArIHBpb19idWZmZXItPmN1cnJlbnRfcG9zKSA9IHdyaXRlX3ZhbHVlOworCQlwaW9fYnVm ZmVyLT5jdXJyZW50X3BvcyArPSBzaXplb2YodWludDMyX3QpOworCX0KKworCWF0YV9waW9fY2hl Y2tfZW5kX3RyYW5zZmVyKHBpb19zZXR1cCk7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lk CithdGFfcGlvX2dlbmVyaWNfZW5kX3RyYW5zZmVyKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5l bCkKK3sKKwlkcHJpbnQoTE9HX0RFQlVHLCAiYXRhX3Bpb19nZW5lcmljX2VuZF90cmFuc2Zlcjog Y2g6ICVkIGRyaXZlOiAlZFxuIiwKKwkgICAgICAgY2hhbm5lbC0+aW50ZXJmYWNlLCBjaGFubmVs LT5kcml2ZSk7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCithdGFfcmVhZF9tdWx0aXBs ZV9ibG9ja19kb25lKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCkKK3sKKwlzdHJ1Y3QgYXRh X2RyaXZlICpkcml2ZSA9ICZjaGFubmVsLT5kcml2ZXNbY2hhbm5lbC0+ZHJpdmVdOworCXN0cnVj dCBibG9ja2lmX2N0eHQgKmJjdHh0ID0gTlVMTDsKKwlzdHJ1Y3QgYXRhX3Bpb19zZXR1cCAqcGlv X3NldHVwID0gTlVMTDsKKwlzdHJ1Y3QgYmxvY2tpZl9yZXEgKmJyZXEgPSBOVUxMOworCXVpbnQ2 NF90IGNvdW50OworCXVpbnQ2NF90IHNpemVfdHJhbnNmZXI7CisJaW50IGVycjsKKworCWJjdHh0 ID0gZHJpdmUtPmJjdHh0OworCXBpb19zZXR1cCA9ICZkcml2ZS0+cGlvX3NldHVwOworCWJyZXEg PSAmcGlvX3NldHVwLT5icmVxOworCisJZHJpdmUtPm9mZnNldCArPSBwaW9fc2V0dXAtPnNpemVf dHJhbnNmZXI7CisJZHJpdmUtPmNvdW50IC09IHBpb19zZXR1cC0+c2l6ZV90cmFuc2ZlcjsKKwor CWNvdW50ID0gZHJpdmUtPmNvdW50OworCisJaWYgKGNvdW50KSB7CisJCXNpemVfdHJhbnNmZXIg PSBjb3VudCA+PSBBVEFfQkxPQ0tfU0laRSA/IEFUQV9CTE9DS19TSVpFIDogY291bnQ7CisJCWF0 YV9waW9fZG9fdHJhbnNmZXIocGlvX3NldHVwLCBzaXplX3RyYW5zZmVyLCBhdGFfcmVhZF9tdWx0 aXBsZV9ibG9ja19kb25lLCBjaGFubmVsLT51c2VfMTZiaXQpOworCisJCWF0YV9pbml0X2Jsb2Nr X3JlcXVlc3QoYnJlcSwgY2hhbm5lbCwgZHJpdmUtPm9mZnNldCwKKwkJCQkgICAgICAgc2l6ZV90 cmFuc2ZlciwgYXRhX3Bpb19nZXRfYnVmZmVyX2RhdGEocGlvX3NldHVwKSk7CisKKwkJZXJyID0g YmxvY2tpZl9yZWFkKGJjdHh0LCBicmVxKTsKKwkJYXNzZXJ0KCFlcnIpOworCX0KKwllbHNlIHsK KwkJZHByaW50KExPR19ERUJVRywgImF0YV9yZWFkX211bHRpcGxlX2Jsb2NrX2RvbmU6IEFUQV9S RUFEX01VTCBjb21wbGV0ZWRcbiIpOworCX0KKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQK K2F0YV93cml0ZV9tdWx0aXBsZV9ibG9ja19kb25lKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5l bCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9ICZjaGFubmVsLT5kcml2ZXNbY2hhbm5l bC0+ZHJpdmVdOworCXN0cnVjdCBibG9ja2lmX2N0eHQgKmJjdHh0ID0gTlVMTDsKKwlzdHJ1Y3Qg YXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwID0gTlVMTDsKKwlzdHJ1Y3QgYmxvY2tpZl9yZXEgKmJy ZXEgPSBOVUxMOworCXVpbnQ2NF90IGNvdW50OworCXVpbnQ2NF90IHNpemVfdHJhbnNmZXI7CisJ aW50IGVycjsKKworCWJjdHh0ID0gZHJpdmUtPmJjdHh0OworCXBpb19zZXR1cCA9ICZkcml2ZS0+ cGlvX3NldHVwOworCWJyZXEgPSAmcGlvX3NldHVwLT5icmVxOworCisJYXRhX2luaXRfYmxvY2tf cmVxdWVzdChicmVxLCBjaGFubmVsLCBkcml2ZS0+b2Zmc2V0LAorCQkJICAgICAgIHBpb19zZXR1 cC0+c2l6ZV90cmFuc2ZlciwgYXRhX3Bpb19nZXRfYnVmZmVyX2RhdGEocGlvX3NldHVwKSk7CisK Kwlkcml2ZS0+b2Zmc2V0ICs9IHBpb19zZXR1cC0+c2l6ZV90cmFuc2ZlcjsKKwlkcml2ZS0+Y291 bnQgLT0gcGlvX3NldHVwLT5zaXplX3RyYW5zZmVyOworCisJY291bnQgPSBkcml2ZS0+Y291bnQ7 CisKKwlpZiAoY291bnQpIHsKKwkJc2l6ZV90cmFuc2ZlciA9IGNvdW50ID49IEFUQV9CTE9DS19T SVpFID8gQVRBX0JMT0NLX1NJWkUgOiBjb3VudDsKKwkJYXRhX3Bpb19kb190cmFuc2ZlcihwaW9f c2V0dXAsIHNpemVfdHJhbnNmZXIsIGF0YV93cml0ZV9tdWx0aXBsZV9ibG9ja19kb25lLCBjaGFu bmVsLT51c2VfMTZiaXQpOworCX0KKwllbHNlIHsKKwkJZHByaW50KExPR19ERUJVRywgImF0YV93 cml0ZV9tdWx0aXBsZV9ibG9ja19kb25lOiBBVEFfV1JJVEVfTVVMIGNvbXBsZXRlZFxuIik7CisJ fQorCisJZXJyID0gYmxvY2tpZl93cml0ZShiY3R4dCwgYnJlcSk7CisJYXNzZXJ0KCFlcnIpOwor CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2F0YXBpX2hhbmRsZV9yZWFkX2RvbmUo c3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUgKmRyaXZl ID0gJmNoYW5uZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisJc3RydWN0IGJsb2NraWZfY3R4 dCAqYmN0eHQgPSBOVUxMOworCXN0cnVjdCBhdGFfcGlvX3NldHVwICpwaW9fc2V0dXAgPSBOVUxM OworCXN0cnVjdCBibG9ja2lmX3JlcSAqYnJlcSA9IE5VTEw7CisJdWludDY0X3QgY291bnQ7CisJ aW50IGVycjsKKworCWJjdHh0ID0gZHJpdmUtPmJjdHh0OworCXBpb19zZXR1cCA9ICZkcml2ZS0+ cGlvX3NldHVwOworCWJyZXEgPSAmcGlvX3NldHVwLT5icmVxOworCisJZHJpdmUtPm9mZnNldCAr PSBBVEFQSV9CTE9DS19TSVpFOworCWRyaXZlLT5jb3VudCAtPSBBVEFQSV9CTE9DS19TSVpFOwor CisJY291bnQgPSBkcml2ZS0+Y291bnQ7CisKKwlpZiAoY291bnQpIHsKKwkJYXNzZXJ0KGNvdW50 ID49IEFUQVBJX0JMT0NLX1NJWkUpOworCisJCWRyaXZlLT5zZWNjb3VudCA9IEFUQV9JX0lOOwor CisJCWF0YV9waW9fZG9fdHJhbnNmZXIocGlvX3NldHVwLCBBVEFQSV9CTE9DS19TSVpFLCBhdGFf YXRhcGlfaGFuZGxlX3JlYWRfZG9uZSwgY2hhbm5lbC0+dXNlXzE2Yml0KTsKKworCQlhdGFfaW5p dF9ibG9ja19yZXF1ZXN0KGJyZXEsIGNoYW5uZWwsIGRyaXZlLT5vZmZzZXQsCisJCQkJICAgICAg IEFUQVBJX0JMT0NLX1NJWkUsIGF0YV9waW9fZ2V0X2J1ZmZlcl9kYXRhKHBpb19zZXR1cCkpOwor CisJCWVyciA9IGJsb2NraWZfcmVhZChiY3R4dCwgYnJlcSk7CisJCWFzc2VydCghZXJyKTsKKwl9 CisJZWxzZSB7CisJCWRwcmludChMT0dfREVCVUcsICJhdGFfYXRhcGlfaGFuZGxlX3JlYWRfZG9u ZTogUkVBRCBjb21wbGV0ZWRcbiIpOworCQlhdGFfYXRhcGlfY21kX2RvbmUoY2hhbm5lbCk7CisJ fQorCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV9pZGVudGlmeShzdHJ1 Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpCit7CisJc3RydWN0IGF0YV9kcml2ZSAqZHJpdmUgPSAm Y2hhbm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXTsKKworCWlmIChkcml2ZS0+dHlwZSA9PSBB VEFfSEQpIHsKKwkJYXRhX2luaXRpYWxpemVfaWRlbnQoY2hhbm5lbCk7CisKKwkJYXRhX3NldF9k YXRhX2Jsb2NrX3JlYWR5KGNoYW5uZWwpOworCQlhdGFfc2V0X3N0YXR1c19vayhjaGFubmVsKTsK KwkJYXRhX2lycV9yYWlzZShjaGFubmVsKTsKKwl9CisJZWxzZSBpZiAoZHJpdmUtPnR5cGUgPT0g QVRBUElfQ0QpIHsKKwkJYXRhX2NvbW1hbmRfYWJvcnRlZChjaGFubmVsKTsKKwkJYXRhX3NldF9z aWduYXR1cmUoZHJpdmUpOworCX0KKwllbHNlCisJCWFzc2VydCgwKTsKKworCXJldHVybjsKK30K Kworc3RhdGljIHZvaWQKK2F0YV9oYW5kbGVfc2V0ZmVhdHVyZXMoc3RydWN0IGF0YV9jaGFubmVs ICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUgKmRyaXZlID0gJmNoYW5uZWwtPmRyaXZl c1tjaGFubmVsLT5kcml2ZV07CisKKwlzd2l0Y2ggKGRyaXZlLT5mZWF0dXJlcykgeworCWNhc2Ug QVRBX1NGX1NFVFhGRVI6CisJCWNoYW5uZWwtPm1vZGUgPSBkcml2ZS0+c2VjY291bnQ7CisJCWRw cmludChMT0dfREVCVUcsICJhdGFfaGFuZGxlX3NldGZlYXR1cmVzIEFUQV9TRl9TRVRYRkVSOiBt b2RlOiAlZFxuIiwKKwkJICAgICAgIGNoYW5uZWwtPm1vZGUpOworCQlicmVhazsKKwljYXNlIEFU QV9TRl9FTkFCX1dDQUNIRToKKwkJYnJlYWs7CisJY2FzZSBBVEFfU0ZfRElTX1dDQUNIRToKKwkJ YnJlYWs7CisJY2FzZSBBVEFfU0ZfRU5BQl9QVUlTOgorCQlicmVhazsKKwljYXNlIEFUQV9TRl9E SVNfUFVJUzoKKwkJYnJlYWs7CisJY2FzZSBBVEFfU0ZfUFVJU19TUElOVVA6CisJCWJyZWFrOwor CWNhc2UgQVRBX1NGX0VOQUJfUkNBQ0hFOgorCQlicmVhazsKKwljYXNlIEFUQV9TRl9ESVNfUkNB Q0hFOgorCQlicmVhazsKKwljYXNlIEFUQV9TRl9FTkFCX1JFTElSUToKKwkJYnJlYWs7CisJY2Fz ZSBBVEFfU0ZfRElTX1JFTElSUToKKwkJYnJlYWs7CisJY2FzZSBBVEFfU0ZfRU5BQl9TUlZJUlE6 CisJCWJyZWFrOworCWNhc2UgQVRBX1NGX0RJU19TUlZJUlE6CisJCWJyZWFrOworCWRlZmF1bHQ6 CisJCWJyZWFrOworCX0KKworCWF0YV9zZXRfc3RhdHVzX29rKGNoYW5uZWwpOworCWF0YV9pcnFf cmFpc2UoY2hhbm5lbCk7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCithdGFfaGFuZGxl X3NldF9tdWx0aShzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpCit7CisJc3RydWN0IGF0YV9k cml2ZSAqZHJpdmUgPSAmY2hhbm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXTsKKworCWNoYW5u ZWwtPnNlY3RvcnNfcGVyX2Jsb2NrID0gZHJpdmUtPnNlY2NvdW50OworCisJYXNzZXJ0KGNoYW5u ZWwtPnNlY3RvcnNfcGVyX2Jsb2NrID09IEFUQV9TRUNUT1JTX1BFUl9CTE9DSyk7CisKKwlkcHJp bnQoTE9HX0RFQlVHLCAiYXRhX2hhbmRsZV9zZXRfbXVsdGk6IHNlY3RvcnNfcGVyX2Jsb2NrOiAl ZFxuIiwKKwkgICAgICAgY2hhbm5lbC0+c2VjdG9yc19wZXJfYmxvY2spOworCisJYXRhX3NldF9z dGF0dXNfb2soY2hhbm5lbCk7CisJYXRhX2lycV9yYWlzZShjaGFubmVsKTsKKworCXJldHVybjsK K30KKworc3RhdGljIHZvaWQKK2F0YV9oYW5kbGVfcmVhZF9tdWx0aXBsZShzdHJ1Y3QgYXRhX2No YW5uZWwgKmNoYW5uZWwpCit7CisJc3RydWN0IGF0YV9kcml2ZSAqZHJpdmUgPSAmY2hhbm5lbC0+ ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXTsKKwlzdHJ1Y3QgYmxvY2tpZl9jdHh0ICpiY3R4dCA9IE5V TEw7CisJc3RydWN0IGF0YV9waW9fc2V0dXAgKnBpb19zZXR1cCA9IE5VTEw7CisJc3RydWN0IGJs b2NraWZfcmVxICpicmVxID0gTlVMTDsKKworCXVpbnQxNl90IHNlY3Rvcl9jb3VudDsKKwl1aW50 MzJfdCBsYmFfYWRkcmVzcyA9IDA7CisJdWludDY0X3Qgb2Zmc2V0OworCXVpbnQ2NF90IGNvdW50 OworCXVpbnQ2NF90IHNpemVfdHJhbnNmZXI7CisJaW50IGVycjsKKworCWJjdHh0ID0gZHJpdmUt PmJjdHh0OworCXBpb19zZXR1cCA9ICZkcml2ZS0+cGlvX3NldHVwOworCWJyZXEgPSAmcGlvX3Nl dHVwLT5icmVxOworCisJYXRhX2FkZHJlc3Npbmdfc2VjX2NvdW50KGNoYW5uZWwsICZzZWN0b3Jf Y291bnQpOworCWF0YV9hZGRyZXNzaW5nXzI4X2xiYShjaGFubmVsLCAmbGJhX2FkZHJlc3MpOwor CisJZHByaW50KExPR19ERUJVRywgImF0YV9oYW5kbGVfcmVhZF9tdWx0aXBsZTogc2VjdG9yX2Nv dW50OiAlZCwgbGJhX2FkZHJlc3M6IDB4JXhcbiIsCisJICAgICAgIHNlY3Rvcl9jb3VudCwgbGJh X2FkZHJlc3MpOworCisJb2Zmc2V0ID0gKHVpbnQ2NF90KWxiYV9hZGRyZXNzICogQVRBX1NFQ1RP Ul9TSVpFOworCWNvdW50ID0gKHVpbnQ2NF90KXNlY3Rvcl9jb3VudCAqIEFUQV9TRUNUT1JfU0la RTsKKworCWRyaXZlLT5jb3VudCA9IGNvdW50OworCWRyaXZlLT5vZmZzZXQgPSBvZmZzZXQ7CisK KwlzaXplX3RyYW5zZmVyID0gY291bnQgPj0gQVRBX0JMT0NLX1NJWkUgPyBBVEFfQkxPQ0tfU0la RSA6IGNvdW50OworCWF0YV9waW9fZG9fdHJhbnNmZXIocGlvX3NldHVwLCBzaXplX3RyYW5zZmVy LCBhdGFfcmVhZF9tdWx0aXBsZV9ibG9ja19kb25lLCBjaGFubmVsLT51c2VfMTZiaXQpOworCisJ YXRhX2luaXRfYmxvY2tfcmVxdWVzdChicmVxLCBjaGFubmVsLCBkcml2ZS0+b2Zmc2V0LAorCQkJ ICAgICAgIHNpemVfdHJhbnNmZXIsIGF0YV9waW9fZ2V0X2J1ZmZlcl9kYXRhKHBpb19zZXR1cCkp OworCisJZXJyID0gYmxvY2tpZl9yZWFkKGJjdHh0LCBicmVxKTsKKwlhc3NlcnQoIWVycik7CisK KwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCithdGFfaGFuZGxlX3JlYWRfdmVyaWZ5KHN0cnVj dCBhdGFfY2hhbm5lbCAqY2hhbm5lbCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9ICZj aGFubmVsLT5kcml2ZXNbY2hhbm5lbC0+ZHJpdmVdOworCWRwcmludChMT0dfREVCVUcsICJhdGFf aGFuZGxlX3JlYWRfdmVyaWZ5XG4iKTsKKworCWF0YV9zZXRfc3RhdHVzX29rKGNoYW5uZWwpOwor CWRyaXZlLT5hbHRzdGF0dXMgJj0gfkFUQV9TX0RSUTsKKwlhdGFfaXJxX3JhaXNlKGNoYW5uZWwp OworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV93cml0ZV9tdWx0aXBs ZShzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpCit7CisJc3RydWN0IGF0YV9kcml2ZSAqZHJp dmUgPSAmY2hhbm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXTsKKwlzdHJ1Y3QgYmxvY2tpZl9j dHh0ICpiY3R4dCA9IE5VTEw7CisJc3RydWN0IGF0YV9waW9fc2V0dXAgKnBpb19zZXR1cCA9IE5V TEw7CisKKwl1aW50MTZfdCBzZWN0b3JfY291bnQ7CisJdWludDMyX3QgbGJhX2FkZHJlc3MgPSAw OworCXVpbnQ2NF90IG9mZnNldDsKKwl1aW50NjRfdCBjb3VudDsKKwl1aW50NjRfdCBzaXplX3Ry YW5zZmVyOworCisJYmN0eHQgPSBkcml2ZS0+YmN0eHQ7CisJcGlvX3NldHVwID0gJmRyaXZlLT5w aW9fc2V0dXA7CisKKwlhdGFfYWRkcmVzc2luZ19zZWNfY291bnQoY2hhbm5lbCwgJnNlY3Rvcl9j b3VudCk7CisJYXRhX2FkZHJlc3NpbmdfMjhfbGJhKGNoYW5uZWwsICZsYmFfYWRkcmVzcyk7CisK KwlkcHJpbnQoTE9HX0RFQlVHLCAiYXRhX2hhbmRsZV93cml0ZV9tdWx0aXBsZTogc2VjdG9yX2Nv dW50OiAlZCwgbGJhX2FkZHJlc3M6IDB4JXhcbiIsCisJICAgICAgIHNlY3Rvcl9jb3VudCwgbGJh X2FkZHJlc3MpOworCisJb2Zmc2V0ID0gKHVpbnQ2NF90KWxiYV9hZGRyZXNzICogQVRBX1NFQ1RP Ul9TSVpFOworCWNvdW50ID0gKHVpbnQ2NF90KXNlY3Rvcl9jb3VudCAqIEFUQV9TRUNUT1JfU0la RTsKKworCWRyaXZlLT5vZmZzZXQgPSBvZmZzZXQ7CisJZHJpdmUtPmNvdW50ID0gY291bnQ7CisK KwlzaXplX3RyYW5zZmVyID0gY291bnQgPj0gQVRBX0JMT0NLX1NJWkUgPyBBVEFfQkxPQ0tfU0la RSA6IGNvdW50OworCWF0YV9waW9fZG9fdHJhbnNmZXIocGlvX3NldHVwLCBzaXplX3RyYW5zZmVy LCBhdGFfd3JpdGVfbXVsdGlwbGVfYmxvY2tfZG9uZSwgY2hhbm5lbC0+dXNlXzE2Yml0KTsKKwor CXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK2F0YV9oYW5kbGVfZG1hKHN0cnVjdCBhdGFfY2hh bm5lbCAqY2hhbm5lbCwgdWludDhfdCBvcF9kaXIpCit7CisJc3RydWN0IHBjaV9hdGFfc29mdGMg KnNjID0gTlVMTDsKKwlzdHJ1Y3QgcGNpX2F0YV9kbWFfdHJhbnNhY3Rpb24gKmRtYV90cmFuc2Fj dGlvbiA9IE5VTEw7CisKKwl1aW50MTZfdCBzZWN0b3JfY291bnQ7CisJdWludDMyX3QgbGJhX2Fk ZHJlc3MgPSAwOworCisJc2MgPSBjaGFubmVsLT5wcl9zYzsKKwlkbWFfdHJhbnNhY3Rpb24gPSAm c2MtPmRtYV90cmFuc2FjdGlvbnNbY2hhbm5lbC0+aW50ZXJmYWNlXTsKKworCWFzc2VydCghZG1h X3RyYW5zYWN0aW9uLT5zdGFydGVkKTsKKworCWF0YV9hZGRyZXNzaW5nX3NlY19jb3VudChjaGFu bmVsLCAmc2VjdG9yX2NvdW50KTsKKwlhdGFfYWRkcmVzc2luZ18yOF9sYmEoY2hhbm5lbCwgJmxi YV9hZGRyZXNzKTsKKworCWRwcmludChMT0dfREVCVUcsICJhdGFfaGFuZGxlX2RtYTogc2VjdG9y X2NvdW50OiAlZCwgbGJhX2FkZHJlc3M6IDB4JXggRElSOiAlZFxuIiwKKwkJCXNlY3Rvcl9jb3Vu dCwgbGJhX2FkZHJlc3MsIG9wX2Rpcik7CisKKwlkbWFfdHJhbnNhY3Rpb24tPnN0YXJ0ZWQgPSAx OworCWRtYV90cmFuc2FjdGlvbi0+b2Zmc2V0ID0gKHVpbnQ2NF90KWxiYV9hZGRyZXNzICogQVRB X1NFQ1RPUl9TSVpFOworCWRtYV90cmFuc2FjdGlvbi0+bmJ5dGVzID0gKHVpbnQ2NF90KXNlY3Rv cl9jb3VudCAqIEFUQV9TRUNUT1JfU0laRTsKKwlkbWFfdHJhbnNhY3Rpb24tPm9wX2RpciA9IG9w X2RpcjsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK2F0YV9oYW5kbGVfZmx1c2hjYWNo ZShzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwpCit7CisJc3RydWN0IGJsb2NraWZfY3R4dCAq YmN0eHQgPSBOVUxMOworCXN0cnVjdCBibG9ja2lmX3JlcSAqYnJlcSA9IE5VTEw7CisJaW50IGVy cjsKKworCWJjdHh0ID0gY2hhbm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXS5iY3R4dDsKKwli cmVxID0gJmNoYW5uZWwtPmZsdXNoX2JyZXE7CisKKwlkcHJpbnQoTE9HX0RFQlVHLCAiYXRhX2hh bmRsZV9mbHVzaGNhY2hlXG4iKTsKKworCWF0YV9pbml0X2Jsb2NrX3JlcXVlc3QoYnJlcSwgY2hh bm5lbCwgMCwgMCwgTlVMTCk7CisKKwllcnIgPSBibG9ja2lmX2ZsdXNoKGJjdHh0LCBicmVxKTsK Kwlhc3NlcnQoIWVycik7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCithdGFfaGFuZGxl X3NlZWsoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUg KmRyaXZlID0gJmNoYW5uZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisKKwlkcHJpbnQoTE9H X0RFQlVHLCAiYXRhX2hhbmRsZV9zZWVrXG4iKTsKKworCWF0YV9zZXRfc3RhdHVzX29rKGNoYW5u ZWwpOworCWRyaXZlLT5zdGF0dXMgfD0gQVRBX1NfRFNDOworCWF0YV9pcnFfcmFpc2UoY2hhbm5l bCk7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCithdGFfaGFuZGxlX2F0YXBpX2lkZW50 aWZ5KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCkKK3sKKwlhdGFfYXRhcGlfaW5pdGlhbGl6 ZV9pZGVudChjaGFubmVsKTsKKworCWF0YV9zZXRfZGF0YV9ibG9ja19yZWFkeShjaGFubmVsKTsK KwlhdGFfc2V0X3N0YXR1c19vayhjaGFubmVsKTsKKwlhdGFfaXJxX3JhaXNlKGNoYW5uZWwpOwor CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2hhbmRsZV9wYWNrZXRfY21kKHN0cnVj dCBhdGFfY2hhbm5lbCAqY2hhbm5lbCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9ICZj aGFubmVsLT5kcml2ZXNbY2hhbm5lbC0+ZHJpdmVdOworCXN0cnVjdCBhdGFfcGlvX3NldHVwICpw aW9fc2V0dXAgPSBOVUxMOworCisJcGlvX3NldHVwID0gJmRyaXZlLT5waW9fc2V0dXA7CisKKwlk cml2ZS0+Ynl0ZV9jb3VudCA9IGRyaXZlLT5sYmFfbWlkIHwgKGRyaXZlLT5sYmFfaGlnaCA8PCA4 KTsKKworCWRwcmludChMT0dfREVCVUcsICJhdGFfaGFuZGxlX3BhY2tldF9jbWQ6IGJ5dGVfY291 bnQ6ICVkXG4iLCBkcml2ZS0+Ynl0ZV9jb3VudCk7CisKKwlhdGFfc2V0X3N0YXR1c19vayhjaGFu bmVsKTsKKwlkcml2ZS0+c2VjY291bnQgPSBBVEFfSV9DTUQ7CisJZHJpdmUtPnN0YXR1cyB8PSBB VEFfU19EUlE7CisKKwkvKiBUaGUgUGFja2V0IGNtZCBpcyByZWNlaXZlZCBhcyA2IHdvcmRzIG9u IGJvdGggTFBDIGFuZCBQQ0kgKi8KKwlhdGFfcGlvX2RvX3RyYW5zZmVyKHBpb19zZXR1cCwgQVRB UElfUEFDS0VUX1NJWkUsIGF0YV9hdGFwaV9jbWQsIDEpOworCisJcmV0dXJuOworfQorCitzdGF0 aWMgdm9pZAorYXRhX2hhbmRsZV9jbWQoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVsLCB1aW50 OF90IGNtZCkKK3sKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgQVRBX0FUQV9JREVOVElGWToKKwkJ YXRhX2hhbmRsZV9pZGVudGlmeShjaGFubmVsKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfU0VURkVB VFVSRVM6CisJCWF0YV9oYW5kbGVfc2V0ZmVhdHVyZXMoY2hhbm5lbCk7CisJCWJyZWFrOworCWNh c2UgQVRBX1NFVF9NVUxUSToKKwkJYXRhX2hhbmRsZV9zZXRfbXVsdGkoY2hhbm5lbCk7CisJCWJy ZWFrOworCWNhc2UgQVRBX1JFQUQ6CisJY2FzZSBBVEFfUkVBRF9NVUw6CisJCWF0YV9oYW5kbGVf cmVhZF9tdWx0aXBsZShjaGFubmVsKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfUkVBRF9WRVJJRlk6 CisJCWF0YV9oYW5kbGVfcmVhZF92ZXJpZnkoY2hhbm5lbCk7CisJCWJyZWFrOworCWNhc2UgQVRB X1dSSVRFOgorCWNhc2UgQVRBX1dSSVRFX01VTDoKKwkJYXRhX2hhbmRsZV93cml0ZV9tdWx0aXBs ZShjaGFubmVsKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfUkVBRF9ETUE6CisJCWF0YV9oYW5kbGVf ZG1hKGNoYW5uZWwsIEFUQV9ETUFfUkVBRCk7CisJCWJyZWFrOworCWNhc2UgQVRBX1dSSVRFX0RN QToKKwkJYXRhX2hhbmRsZV9kbWEoY2hhbm5lbCwgQVRBX0RNQV9XUklURSk7CisJCWJyZWFrOwor CWNhc2UgQVRBX0ZMVVNIQ0FDSEU6CisJCWF0YV9oYW5kbGVfZmx1c2hjYWNoZShjaGFubmVsKTsK KwkJYnJlYWs7CisJY2FzZSBBVEFfU0VFSzoKKwkJYXRhX2hhbmRsZV9zZWVrKGNoYW5uZWwpOwor CQlicmVhazsKKwljYXNlIEFUQV9BVEFQSV9JREVOVElGWToKKwkJYXRhX2hhbmRsZV9hdGFwaV9p ZGVudGlmeShjaGFubmVsKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfUEFDS0VUX0NNRDoKKwkJYXRh X2hhbmRsZV9wYWNrZXRfY21kKGNoYW5uZWwpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkcHJp bnQoTE9HX0VSUiwgImF0YV9oYW5kbGVfY21kOiB1bnN1cHBvcnRlZCBjbWQ6ICUwMnhcbiIsIGNt ZCk7CisJCWFzc2VydCgwKTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuOworfQorCisvKgorICog YXRhX2NwdV90b19iZTMyIHRyYW5zbGF0ZXMgZnJvbSBsaXR0bGUgZW5kaWFuIHRvIGJpZyBlbmRp YW4KKyAqIHRoZSBsaXR0bGUgZW5kaWFuIGZvcm1hdCBpcyB1c2VkIGJ5IHRoZSBjcHUKKyAqIEB2 YWwgLSB0aGUgaW50ZWdlciB2YWx1ZSBiZWluZyB0cmFuc2xhdGVkCisgKiBAYnVmIC0gdGhlIGFk ZHJlc3Mgd2hlcmUgdGhlIHJlc3VsdCBpcyBzdG9yZWQKKyAqLworc3RhdGljIGlubGluZSB2b2lk CithdGFfY3B1X3RvX2JlMzIodWludDhfdCAqYnVmLCB1aW50MzJfdCB2YWwpCit7CisJYnVmWzBd ID0gdmFsID4+IDI0OworCWJ1ZlsxXSA9IHZhbCA+PiAxNjsKKwlidWZbMl0gPSB2YWwgPj4gODsK KwlidWZbM10gPSB2YWw7CisKKwlyZXR1cm47Cit9CisKKy8qCisgKiBhdGFfY3B1X3RvX2JlMTYg dHJhbnNsYXRlcyBmcm9tIGxpdHRsZSBlbmRpYW4gdG8gYmlnIGVuZGlhbgorICogdGhlIGxpdHRs ZSBlbmRpYW4gZm9ybWF0IGlzIHVzZWQgYnkgdGhlIGNwdQorICogQHZhbCAtIHRoZSB3b3JkIGJl aW5nIHRyYW5zbGF0ZWQKKyAqIEBidWYgLSB0aGUgYWRkcmVzcyB3aGVyZSB0aGUgcmVzdWx0IGlz IHN0b3JlZAorICovCitzdGF0aWMgaW5saW5lIHZvaWQKK2F0YV9jcHVfdG9fYmUxNih1aW50OF90 ICpidWYsIHVpbnQxNl90IHZhbCkKK3sKKwlidWZbMF0gPSB2YWwgPj4gODsKKwlidWZbMV0gPSB2 YWw7CisKKwlyZXR1cm47Cit9CisKKy8qCisgKiBhdGFfYmUzMl90b19jcHUgdHJhbnNsYXRlcyBm cm9tIGJpZyBlbmRpYW4gdG8gbGl0dGxlIGVuZGlhbgorICogdGhlIGxpdHRsZSBlbmRpYW4gZm9y bWF0IGlzIHVzZWQgYnkgdGhlIGNwdQorICogQHZhbCAtIHRoZSByZXR1cm4gaW50ZWdlciB2YWx1 ZQorICogQGJ1ZiAtIHRoZSBhZGRyZXNzIG9mIHRoZSB2YWx1ZSBiZWluZyB0cmFuc2xhdGVkCisg Ki8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QKK2F0YV9iZTMyX3RvX2NwdSh1aW50OF90ICpidWYp Cit7CisJdWludDMyX3QgdmFsID0gMDsKKworCXZhbCB8PSBidWZbMF0gPDwgMjQ7CisJdmFsIHw9 IGJ1ZlsxXSA8PCAxNjsKKwl2YWwgfD0gYnVmWzJdIDw8IDg7CisJdmFsIHw9IGJ1ZlszXTsKKwor CXJldHVybiB2YWw7Cit9CisKKy8qCisgKiBhdGFfYmUxNl90b19jcHUgdHJhbnNsYXRlcyBmcm9t IGJpZyBlbmRpYW4gdG8gbGl0dGxlIGVuZGlhbgorICogdGhlIGxpdHRsZSBlbmRpYW4gZm9ybWF0 IGlzIHVzZWQgYnkgdGhlIGNwdQorICogQHZhbCAtIHRoZSByZXR1cm4gd29yZCB2YWx1ZQorICog QGJ1ZiAtIHRoZSBhZGRyZXNzIG9mIHRoZSB2YWx1ZSBiZWluZyB0cmFuc2xhdGVkCisgKi8KK3N0 YXRpYyBpbmxpbmUgdWludDE2X3QKK2F0YV9iZTE2X3RvX2NwdSh1aW50OF90ICpidWYpCit7CisJ dWludDE2X3QgdmFsID0gMDsKKworCXZhbCB8PSBidWZbMF0gPDwgODsKKwl2YWwgfD0gYnVmWzFd OworCisJcmV0dXJuIHZhbDsKK30KKworc3RhdGljIHZvaWQKK2F0YV9hdGFwaV9wcmludF9wYWNr ZXQodWludDhfdCAqcGFja2V0KQoreworCWludCBpOworCisJZHByaW50KExPR19ERUJVRywgImF0 YV9hdGFwaV9wcmludF9wYWNrZXQgY21kOiAweCV4IHBhY2tldDogIiwgcGFja2V0WzBdKTsKKwlm b3IgKGkgPSAwOyBpIDwgQVRBUElfUEFDS0VUX1NJWkU7IGkrKykgeworCQlkcHJpbnQoTE9HX0RF QlVHLCAiJXggIiwgcGFja2V0W2ldKTsKKwl9CisJZHByaW50KExPR19ERUJVRywgIlxuIik7CisK KwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCithdGFfYXRhcGlfZGF0YV9yZXF1ZXN0KHN0cnVj dCBhdGFfY2hhbm5lbCAqY2hhbm5lbCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9ICZj aGFubmVsLT5kcml2ZXNbY2hhbm5lbC0+ZHJpdmVdOworCisJYXRhX3NldF9zdGF0dXNfb2soY2hh bm5lbCk7CisJZHJpdmUtPnNlY2NvdW50ID0gQVRBX0lfSU47CisJZHJpdmUtPnN0YXR1cyB8PSBB VEFfU19EUlE7CisKKwlhdGFfaXJxX3JhaXNlKGNoYW5uZWwpOworCisJcmV0dXJuOworfQorCitz dGF0aWMgdm9pZAorYXRhX2F0YXBpX2NtZF9kb25lKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5l bCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9ICZjaGFubmVsLT5kcml2ZXNbY2hhbm5l bC0+ZHJpdmVdOworCisJYXRhX3NldF9zdGF0dXNfb2soY2hhbm5lbCk7CisJZHJpdmUtPnNlY2Nv dW50ID0gQVRBX0lfSU4gfCBBVEFfSV9DTUQ7CisKKwlhdGFfaXJxX3JhaXNlKGNoYW5uZWwpOwor CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2F0YXBpX2hhbmRsZV9pbnF1aXJ5KHN0 cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwgdWludDhfdCAqcGFja2V0KQoreworCXN0cnVjdCBh dGFfZHJpdmUgKmRyaXZlID0gJmNoYW5uZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisJc3Ry dWN0IGF0YV9waW9fc2V0dXAgKnBpb19zZXR1cCA9IE5VTEw7CisJc3RydWN0IHNjc2lfaW5xdWly eV9kYXRhICppbnF1aXJ5X2RhdGEgPSAoc3RydWN0IHNjc2lfaW5xdWlyeV9kYXRhICopcGFja2V0 OworCXVpbnQ4X3QgbWF4X2xlbiA9IDA7CisKKwlwaW9fc2V0dXAgPSAmZHJpdmUtPnBpb19zZXR1 cDsKKworCW1heF9sZW4gPSBwYWNrZXRbNF07CisJYXNzZXJ0KG1heF9sZW4gPj0gU0hPUlRfSU5R VUlSWV9MRU5HVEgpOworCisJLyogZm9yIG5vdyB3ZSBpbXBsZW1lbnQgb25seSB0aGUgc2hvcnQg aW5xdWlyeSBjbWQgKi8KKwlpZiAocGFja2V0WzFdICYgMHgwMSkgeworCQlhc3NlcnQoMCk7CisJ fSBlbHNlIHsKKwkJbWVtc2V0KGlucXVpcnlfZGF0YSwgMCwgU0hPUlRfSU5RVUlSWV9MRU5HVEgp OworCisJCWlucXVpcnlfZGF0YS0+ZGV2aWNlID0gVF9DRFJPTTsKKwkJaW5xdWlyeV9kYXRhLT5k ZXZfcXVhbDIgPSBTSURfUk1COworCQlpbnF1aXJ5X2RhdGEtPnZlcnNpb24gPSBTQ1NJX1JFVl8w OworCQlpbnF1aXJ5X2RhdGEtPnJlc3BvbnNlX2Zvcm1hdCA9IDI7CisJCWlucXVpcnlfZGF0YS0+ YWRkaXRpb25hbF9sZW5ndGggPSBTSE9SVF9JTlFVSVJZX0xFTkdUSCAtIDU7CisKKwkJbWVtY3B5 KGlucXVpcnlfZGF0YS0+dmVuZG9yLCAiQkhZVkUgICAiLCBTSURfVkVORE9SX1NJWkUpOworCQlt ZW1jcHkoaW5xdWlyeV9kYXRhLT5wcm9kdWN0LCAiQVRBUEkgSURFIENEUk9NICIsIFNJRF9QUk9E VUNUX1NJWkUpOworCQltZW1jcHkoaW5xdWlyeV9kYXRhLT5yZXZpc2lvbiwgIjEuMSAiLCBTSURf UkVWSVNJT05fU0laRSk7CisKKwkJYXRhX3Bpb19kb190cmFuc2ZlcihwaW9fc2V0dXAsIFNIT1JU X0lOUVVJUllfTEVOR1RILCBhdGFfYXRhcGlfY21kX2RvbmUsIGNoYW5uZWwtPnVzZV8xNmJpdCk7 CisJCWF0YV9hdGFwaV9kYXRhX3JlcXVlc3QoY2hhbm5lbCk7CisJfQorCisJcmV0dXJuOworfQor CitzdGF0aWMgdm9pZAorYXRhX2F0YXBpX2hhbmRsZV9yZWFkX2NhcGFjaXR5KHN0cnVjdCBhdGFf Y2hhbm5lbCAqY2hhbm5lbCwgdWludDhfdCAqcGFja2V0KQoreworCXN0cnVjdCBhdGFfZHJpdmUg KmRyaXZlID0gJmNoYW5uZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisJc3RydWN0IGF0YV9w aW9fc2V0dXAgKnBpb19zZXR1cCA9IE5VTEw7CisJaW50IG5zZWN0b3JzID0gYmxvY2tpZl9zaXpl KGRyaXZlLT5iY3R4dCkgLyBBVEFQSV9CTE9DS19TSVpFOworCisJcGlvX3NldHVwID0gJmRyaXZl LT5waW9fc2V0dXA7CisKKwlhdGFfY3B1X3RvX2JlMzIocGFja2V0LCBuc2VjdG9ycyAtIDEpOwor CWF0YV9jcHVfdG9fYmUzMihwYWNrZXQgKyA0LCBBVEFQSV9CTE9DS19TSVpFKTsKKworCWF0YV9w aW9fZG9fdHJhbnNmZXIocGlvX3NldHVwLCA4LCBhdGFfYXRhcGlfY21kX2RvbmUsIGNoYW5uZWwt PnVzZV8xNmJpdCk7CisJYXRhX2F0YXBpX2RhdGFfcmVxdWVzdChjaGFubmVsKTsKKworCXJldHVy bjsKK30KKworc3RhdGljIHZvaWQgbGJhX3RvX21zZih1aW50OF90ICpidWYsIGludCBsYmEpCit7 CisJbGJhICs9IDE1MDsKKwlidWZbMF0gPSAobGJhIC8gNzUpIC8gNjA7CisJYnVmWzFdID0gKGxi YSAvIDc1KSAlIDYwOworCWJ1ZlsyXSA9IGxiYSAlIDc1OworCisJcmV0dXJuOworfQorCitzdGF0 aWMgdm9pZAorYXRhX2F0YXBpX2hhbmRsZV9yZWFkX3RvYyhzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNo YW5uZWwsIHVpbnQ4X3QgKnBhY2tldCkKK3sKKwlzdHJ1Y3QgYXRhX2RyaXZlICpkcml2ZSA9ICZj aGFubmVsLT5kcml2ZXNbY2hhbm5lbC0+ZHJpdmVdOworCXN0cnVjdCBhdGFfcGlvX3NldHVwICpw aW9fc2V0dXAgPSBOVUxMOworCWludCBuc2VjdG9ycyA9IGJsb2NraWZfc2l6ZShkcml2ZS0+YmN0 eHQpIC8gQVRBUElfQkxPQ0tfU0laRTsKKworCXVpbnQ4X3QgbXNmID0gcGFja2V0WzFdICYgMjsK Kwl1aW50OF90IGZvcm1hdCA9IHBhY2tldFsyXSAmIDB4MGY7CisJdWludDhfdCB0cmFja19udW1i ZXIgPSBwYWNrZXRbNl07CisJdWludDE2X3QgYWxsb2NhdGlvbl9sZW5ndGggPSAocGFja2V0Wzdd IDw8IDgpIHwgcGFja2V0WzhdOworCisJdWludDE2X3QgZGF0YV9sZW4gPSAwOworCXVpbnQ4X3Qg KmRhdGFfem9uZSA9IE5VTEw7CisJdWludDhfdCAqbGVhZF9vdXQgPSBOVUxMOworCisJcGlvX3Nl dHVwID0gJmRyaXZlLT5waW9fc2V0dXA7CisKKwlhc3NlcnQodHJhY2tfbnVtYmVyIDw9IDEgfHwg dHJhY2tfbnVtYmVyID09IDB4YWEpOworCWFzc2VydCghZm9ybWF0KTsKKworCXBhY2tldFsyXSA9 IDE7CQkvKiBGaXJzdCBUcmFjayAqLworCXBhY2tldFszXSA9IDE7CQkvKiBMYXN0IFRyYWNrICov CisKKwlsZWFkX291dCA9IHBhY2tldCArIDQ7CisKKwlpZiAodHJhY2tfbnVtYmVyIDw9IDEpIHsK KwkJZGF0YV96b25lID0gcGFja2V0ICsgNDsKKwkJbGVhZF9vdXQgPSBwYWNrZXQgKyAxMjsKKwor CQlkYXRhX3pvbmVbMF0gPSAwOwkJLyogUmVzZXJ2ZWQgKi8KKwkJZGF0YV96b25lWzFdID0gMHgx NDsJCS8qIEFEUiwgY29udHJvbCAqLworCQlkYXRhX3pvbmVbMl0gPSAxOwkJLyogdHJhY2sgbnVt YmVyICovCisJCWRhdGFfem9uZVszXSA9IDA7CQkvKiBSZXNlcnZlZCAqLworCQlpZiAobXNmKSB7 CisJCQlkYXRhX3pvbmVbNF0gPSAwOworCQkJbGJhX3RvX21zZihkYXRhX3pvbmUgKyA1LCAwKTsK KwkJfQorCQllbHNlIHsKKwkJCWF0YV9jcHVfdG9fYmUzMihkYXRhX3pvbmUgKyA0LCAwKTsKKwkJ fQorCX0KKworCWxlYWRfb3V0WzBdID0gMDsJCS8qIFJlc2VydmVkICovCisJbGVhZF9vdXRbMV0g PSAweDE2OwkJLyogQURSLCBjb250cm9sICovCisJbGVhZF9vdXRbMl0gPSAweGFhOwkJLyogdHJh Y2sgbnVtYmVyICovCisJbGVhZF9vdXRbM10gPSAwOwkJLyogUmVzZXJ2ZWQgKi8KKwlpZiAobXNm KSB7CisJCWxlYWRfb3V0WzRdID0gMDsKKwkJbGJhX3RvX21zZihsZWFkX291dCArIDUsIG5zZWN0 b3JzKTsKKwl9CisJZWxzZSB7CisJCWF0YV9jcHVfdG9fYmUzMihsZWFkX291dCArIDQsIG5zZWN0 b3JzKTsKKwl9CisKKwlkYXRhX2xlbiA9IChsZWFkX291dCAtIHBhY2tldCkgKyA4OworCWF0YV9j cHVfdG9fYmUxNihwYWNrZXQsIGRhdGFfbGVuIC0gMik7CisKKwlkYXRhX2xlbiA9IChkYXRhX2xl biA8IGFsbG9jYXRpb25fbGVuZ3RoKSA/IGRhdGFfbGVuIDogYWxsb2NhdGlvbl9sZW5ndGg7CisK KwlhdGFfcGlvX2RvX3RyYW5zZmVyKHBpb19zZXR1cCwgZGF0YV9sZW4sIGF0YV9hdGFwaV9jbWRf ZG9uZSwgY2hhbm5lbC0+dXNlXzE2Yml0KTsKKwlhdGFfYXRhcGlfZGF0YV9yZXF1ZXN0KGNoYW5u ZWwpOworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorYXRhX2F0YXBpX2hhbmRsZV9yZWFk KHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwgdWludDhfdCAqcGFja2V0KQoreworCXN0cnVj dCBhdGFfZHJpdmUgKmRyaXZlID0gJmNoYW5uZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisJ c3RydWN0IGJsb2NraWZfY3R4dCAqYmN0eHQgPSBOVUxMOworCXN0cnVjdCBhdGFfcGlvX3NldHVw ICpwaW9fc2V0dXAgPSBOVUxMOworCXN0cnVjdCBibG9ja2lmX3JlcSAqYnJlcSA9IE5VTEw7CisK Kwl1aW50MTZfdCBzZWN0b3JfY291bnQgPSAwOworCXVpbnQzMl90IGxiYV9hZGRyZXNzID0gMDsK Kwl1aW50NjRfdCBvZmZzZXQ7CisJdWludDY0X3QgY291bnQ7CisJaW50IGVycjsKKworCWFzc2Vy dChkcml2ZS0+Ynl0ZV9jb3VudCA+PSBBVEFQSV9CTE9DS19TSVpFKTsKKworCWJjdHh0ID0gZHJp dmUtPmJjdHh0OworCXBpb19zZXR1cCA9ICZkcml2ZS0+cGlvX3NldHVwOworCWJyZXEgPSAmcGlv X3NldHVwLT5icmVxOworCisJbGJhX2FkZHJlc3MgPSBhdGFfYmUzMl90b19jcHUocGFja2V0ICsg Mik7CisJc2VjdG9yX2NvdW50ID0gYXRhX2JlMTZfdG9fY3B1KHBhY2tldCArIDcpOworCisJZHBy aW50KExPR19ERUJVRywgImF0YV9hdGFwaV9oYW5kbGVfcmVhZDogc2VjdG9yX2NvdW50OiAlZCwg bGJhX2FkZHJlc3M6IDB4JXhcbiIsCisJICAgICAgIHNlY3Rvcl9jb3VudCwgbGJhX2FkZHJlc3Mp OworCisJb2Zmc2V0ID0gKHVpbnQ2NF90KWxiYV9hZGRyZXNzICogQVRBUElfQkxPQ0tfU0laRTsK Kwljb3VudCA9ICh1aW50NjRfdClzZWN0b3JfY291bnQgKiBBVEFQSV9CTE9DS19TSVpFOworCisJ ZHJpdmUtPmNvdW50ID0gY291bnQ7CisJZHJpdmUtPm9mZnNldCA9IG9mZnNldDsKKworCWRyaXZl LT5sYmFfbWlkID0gQVRBUElfQkxPQ0tfU0laRSAmIDB4ZmY7CisJZHJpdmUtPmxiYV9oaWdoID0g KEFUQVBJX0JMT0NLX1NJWkUgPj4gOCkgJiAweGZmOworCisJZHJpdmUtPnNlY2NvdW50ID0gQVRB X0lfSU47CisKKwlhdGFfcGlvX2RvX3RyYW5zZmVyKHBpb19zZXR1cCwgQVRBUElfQkxPQ0tfU0la RSwgYXRhX2F0YXBpX2hhbmRsZV9yZWFkX2RvbmUsIGNoYW5uZWwtPnVzZV8xNmJpdCk7CisKKwlh dGFfaW5pdF9ibG9ja19yZXF1ZXN0KGJyZXEsIGNoYW5uZWwsIGRyaXZlLT5vZmZzZXQsCisJCQkg ICAgICAgQVRBUElfQkxPQ0tfU0laRSwgYXRhX3Bpb19nZXRfYnVmZmVyX2RhdGEocGlvX3NldHVw KSk7CisKKwllcnIgPSBibG9ja2lmX3JlYWQoYmN0eHQsIGJyZXEpOworCWFzc2VydCghZXJyKTsK KworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK2F0YV9hdGFwaV9jbWQoc3RydWN0IGF0YV9j aGFubmVsICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUgKmRyaXZlID0gJmNoYW5uZWwt PmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisJc3RydWN0IGF0YV9waW9fc2V0dXAgKnBpb19zZXR1 cCA9IE5VTEw7CisJdWludDhfdCAqcGFja2V0ID0gTlVMTDsKKwl1aW50OF90IG9wX2NvZGUgPSAw OworCisJcGlvX3NldHVwID0gJmRyaXZlLT5waW9fc2V0dXA7CisJcGFja2V0ID0gYXRhX3Bpb19n ZXRfYnVmZmVyX2RhdGEocGlvX3NldHVwKTsKKworCWF0YV9hdGFwaV9wcmludF9wYWNrZXQocGFj a2V0KTsKKworCW9wX2NvZGUgPSBwYWNrZXRbMF07CisKKwlzd2l0Y2ggKG9wX2NvZGUpIHsKKwlj YXNlIElOUVVJUlk6CisJCWF0YV9hdGFwaV9oYW5kbGVfaW5xdWlyeShjaGFubmVsLCBwYWNrZXQp OworCQlicmVhazsKKwljYXNlIFJFQURfQ0FQQUNJVFk6CisJCWF0YV9hdGFwaV9oYW5kbGVfcmVh ZF9jYXBhY2l0eShjaGFubmVsLCBwYWNrZXQpOworCQlicmVhazsKKwljYXNlIFBSRVZFTlRfQUxM T1c6CisJCWF0YV9hdGFwaV9jbWRfZG9uZShjaGFubmVsKTsKKwkJYnJlYWs7CisJY2FzZSBSRUFE X1RPQzoKKwkJYXRhX2F0YXBpX2hhbmRsZV9yZWFkX3RvYyhjaGFubmVsLCBwYWNrZXQpOworCQli cmVhazsKKwljYXNlIFJFQURfMTA6CisJCWF0YV9hdGFwaV9oYW5kbGVfcmVhZChjaGFubmVsLCBw YWNrZXQpOworCQlicmVhazsKKwljYXNlIFRFU1RfVU5JVF9SRUFEWToKKwkJYXRhX2F0YXBpX2Nt ZF9kb25lKGNoYW5uZWwpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkcHJpbnQoTE9HX0VSUiwg ImF0YV9hdGFwaV9jbWQ6IHVuc3VwcG9ydGVkIGNtZDogJTAyeFxuIiwgb3BfY29kZSk7CisJCWFz c2VydCgwKTsKKwkJYnJlYWs7CisJfTsKKworCXJldHVybjsKK30KKworc3RhdGljIHVpbnQ2NF90 CithdGFfY29tbWFuZF9ibG9ja19yZWFkKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwgdWlu dDY0X3Qgb2Zmc2V0KQoreworCXVpbnQ2NF90IHZhbHVlID0gMDsKKwlzdHJ1Y3QgYXRhX2RyaXZl ICpkcml2ZSA9ICZjaGFubmVsLT5kcml2ZXNbY2hhbm5lbC0+ZHJpdmVdOworCXN0cnVjdCBhdGFf cGlvX3NldHVwICpwaW9fc2V0dXAgPSBOVUxMOworCisJcGlvX3NldHVwID0gJmRyaXZlLT5waW9f c2V0dXA7CisKKwlzd2l0Y2ggKG9mZnNldCkgeworCWNhc2UgQVRBX0RBVEFfUkVHOgorCQl2YWx1 ZSA9IGF0YV9waW9fZ2V0X3VpbnQocGlvX3NldHVwKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfRVJS T1JfUkVHOgorCQl2YWx1ZSA9IGRyaXZlLT5lcnJvcjsKKwkJZHByaW50KExPR19ERUJVRywgImF0 YV9jb21tYW5kX2Jsb2NrX3JlYWQ6IEFUQV9FUlJPUl9SRUc6ICVseGhcbiIsIHZhbHVlKTsKKwkJ YnJlYWs7CisJY2FzZSBBVEFfU0VDQ09VTlRfUkVHOgorCQl2YWx1ZSA9IGRyaXZlLT5zZWNjb3Vu dDsKKwkJZHByaW50KExPR19ERUJVRywgImF0YV9jb21tYW5kX2Jsb2NrX3JlYWQ6IEFUQV9TRUND T1VOVF9SRUc6ICVseGhcbiIsIHZhbHVlKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfTEJBX0xPV19S RUc6CisJCXZhbHVlID0gZHJpdmUtPmxiYV9sb3c7CisJCWRwcmludChMT0dfREVCVUcsICJhdGFf Y29tbWFuZF9ibG9ja19yZWFkOiBBVEFfTEJBX0xPV19SRUc6ICVseGhcbiIsIHZhbHVlKTsKKwkJ YnJlYWs7CisJY2FzZSBBVEFfTEJBX01JRF9SRUc6CisJCXZhbHVlID0gZHJpdmUtPmxiYV9taWQ7 CisJCWRwcmludChMT0dfREVCVUcsICJhdGFfY29tbWFuZF9ibG9ja19yZWFkOiBBVEFfTEJBX01J RF9SRUc6ICVseGhcbiIsIHZhbHVlKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfTEJBX0hJR0hfUkVH OgorCQl2YWx1ZSA9IGRyaXZlLT5sYmFfaGlnaDsKKwkJZHByaW50KExPR19ERUJVRywgImF0YV9j b21tYW5kX2Jsb2NrX3JlYWQ6IEFUQV9MQkFfSElHSF9SRUc6ICVseGhcbiIsIHZhbHVlKTsKKwkJ YnJlYWs7CisJY2FzZSBBVEFfSERERVZTRUxfUkVHOgorCQl2YWx1ZSA9IGRyaXZlLT5oZGRldnNl bDsKKwkJZHByaW50KExPR19ERUJVRywgImF0YV9jb21tYW5kX2Jsb2NrX3JlYWQ6IEFUQV9IRERF VlNFTF9SRUc6ICVseGhcbiIsIHZhbHVlKTsKKwkJYnJlYWs7CisJY2FzZSBBVEFfU1RBVFVTX1JF RzoKKwkJYXRhX2lycV9sb3dlcihjaGFubmVsKTsKKworCQl2YWx1ZSA9IGRyaXZlLT5zdGF0dXM7 CisJCWRwcmludChMT0dfREVCVUcsICJhdGFfY29tbWFuZF9ibG9ja19yZWFkOiBBVEFfU1RBVFVT X1JFRzogJWx4aFxuIiwgdmFsdWUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl2YWx1ZSA9IDA7 CisJCWJyZWFrOworCX0KKworCXJldHVybiB2YWx1ZTsKK30KKworc3RhdGljIHZvaWQKK2F0YV9j b21tYW5kX2Jsb2NrX3dyaXRlKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCwKKwkJdWludDY0 X3Qgb2Zmc2V0LCBpbnQgc2l6ZSwgdWludDY0X3QgdmFsdWUpCit7CisJc3RydWN0IGF0YV9kcml2 ZSAqZHJpdmUgPSAmY2hhbm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXTsKKwlzdHJ1Y3QgYXRh X2RyaXZlICpkcml2ZTAgPSAmY2hhbm5lbC0+ZHJpdmVzW0FUQV9NQVNURVJdOworCXN0cnVjdCBh dGFfZHJpdmUgKmRyaXZlMSA9ICZjaGFubmVsLT5kcml2ZXNbQVRBX1NMQVZFXTsKKwlzdHJ1Y3Qg YXRhX3Bpb19zZXR1cCAqcGlvX3NldHVwID0gTlVMTDsKKworCXVpbnQ4X3QgcmVnX3ZhbHVlOwor CisJcGlvX3NldHVwID0gJmRyaXZlLT5waW9fc2V0dXA7CisKKwlzd2l0Y2ggKG9mZnNldCkgewor CWNhc2UgQVRBX0RBVEFfUkVHOgorCQlhdGFfcGlvX3B1dF91aW50KHBpb19zZXR1cCwgdmFsdWUp OworCQlicmVhazsKKwljYXNlIEFUQV9GRUFUVVJFU19SRUc6CisJCWRyaXZlMC0+ZmVhdHVyZXMg PSB2YWx1ZTsKKwkJZHJpdmUxLT5mZWF0dXJlcyA9IHZhbHVlOworCQlkcHJpbnQoTE9HX0RFQlVH LCAiYXRhX2NvbW1hbmRfYmxvY2tfd3JpdGU6IEFUQV9GRUFUVVJFU19SRUc6ICV4aFxuIiwgKHVp bnQ4X3QpdmFsdWUpOworCQlicmVhazsKKwljYXNlIEFUQV9TRUNDT1VOVF9SRUc6CisJCWRyaXZl MC0+c2VjY291bnQgPSB2YWx1ZTsKKwkJZHJpdmUxLT5zZWNjb3VudCA9IHZhbHVlOworCQlkcHJp bnQoTE9HX0RFQlVHLCAiYXRhX2NvbW1hbmRfYmxvY2tfd3JpdGU6IEFUQV9TRUNDT1VOVF9SRUc6 ICV4aFxuIiwgKHVpbnQ4X3QpdmFsdWUpOworCQlicmVhazsKKwljYXNlIEFUQV9MQkFfTE9XX1JF RzoKKwkJZHJpdmUwLT5sYmFfbG93ID0gdmFsdWU7CisJCWRyaXZlMS0+bGJhX2xvdyA9IHZhbHVl OworCQlkcHJpbnQoTE9HX0RFQlVHLCAiYXRhX2NvbW1hbmRfYmxvY2tfd3JpdGU6IEFUQV9MQkFf TE9XX1JFRzogJXhoXG4iLCAodWludDhfdCl2YWx1ZSk7CisJCWJyZWFrOworCWNhc2UgQVRBX0xC QV9NSURfUkVHOgorCQlkcml2ZTAtPmxiYV9taWQgPSB2YWx1ZTsKKwkJZHJpdmUxLT5sYmFfbWlk ID0gdmFsdWU7CisJCWRwcmludChMT0dfREVCVUcsICJhdGFfY29tbWFuZF9ibG9ja193cml0ZTog QVRBX0xCQV9NSURfUkVHOiAleGhcbiIsICh1aW50OF90KXZhbHVlKTsKKwkJYnJlYWs7CisJY2Fz ZSBBVEFfTEJBX0hJR0hfUkVHOgorCQlkcml2ZTAtPmxiYV9oaWdoID0gdmFsdWU7CisJCWRyaXZl MS0+bGJhX2hpZ2ggPSB2YWx1ZTsKKwkJZHByaW50KExPR19ERUJVRywgImF0YV9jb21tYW5kX2Js b2NrX3dyaXRlOiBBVEFfTEJBX0hJR0hfUkVHOiAleGhcbiIsICh1aW50OF90KXZhbHVlKTsKKwkJ YnJlYWs7CisJY2FzZSBBVEFfSERERVZTRUxfUkVHOgorCQlyZWdfdmFsdWUgPSB2YWx1ZTsKKwor CQlkcml2ZTAtPmhkZGV2c2VsID0gdmFsdWU7CisJCWRyaXZlMS0+aGRkZXZzZWwgPSB2YWx1ZTsK KwkJZHByaW50KExPR19ERUJVRywgImF0YV9jb21tYW5kX2Jsb2NrX3dyaXRlOiBBVEFfSERERVZT RUxfUkVHOiAleGhcbiIsIHJlZ192YWx1ZSk7CisKKwkJaWYgKHJlZ192YWx1ZSAmIEFUQV9EX0lC TSkKKwkJCWNoYW5uZWwtPnNpemUgPSBBVEFfU0VDVE9SX1NJWkU7CisJCWlmIChyZWdfdmFsdWUg JiBBVEFfREVWKEFUQV9TTEFWRSkpIHsKKwkJCWRwcmludChMT0dfREVCVUcsICJhdGFfY29tbWFu ZF9ibG9ja193cml0ZTogc2VsZWN0IEFUQV9TTEFWRVxuIik7CisJCQljaGFubmVsLT5kcml2ZSA9 IEFUQV9TTEFWRTsKKwkJfQorCQllbHNlIHsKKwkJCWRwcmludChMT0dfREVCVUcsICJhdGFfY29t bWFuZF9ibG9ja193cml0ZTogc2VsZWN0IEFUQV9NQVNURVJcbiIpOworCQkJY2hhbm5lbC0+ZHJp dmUgPSBBVEFfTUFTVEVSOworCQl9CisJCWlmICghYXRhX3NlbGVjdF9kcml2ZV9pc19vayhjaGFu bmVsKSkgeworCQkJZHJpdmUxLT5zdGF0dXMgPSBBVEFfRFJJVkVfQUJTRU5UOworCQl9CisJCWJy ZWFrOworCWNhc2UgQVRBX0NPTU1BTkRfUkVHOgorCQlkcml2ZTAtPmNvbW1hbmQgPSB2YWx1ZTsK KwkJZHJpdmUxLT5jb21tYW5kID0gdmFsdWU7CisJCWRwcmludChMT0dfREVCVUcsICJhdGFfY29t bWFuZF9ibG9ja193cml0ZTogQVRBX0NPTU1BTkRfUkVHOiAleGhcbiIsICh1aW50OF90KXZhbHVl KTsKKwkJYXRhX2hhbmRsZV9jbWQoY2hhbm5lbCwgdmFsdWUpOworCQlicmVhazsKKwlkZWZhdWx0 OgorCQlkcHJpbnQoTE9HX0VSUiwgImF0YV9jb21tYW5kX2Jsb2NrX3dyaXRlOiB1bnN1cHBvcnRl ZCByZWc6JWx4XG4iLCBvZmZzZXQpOworCQlhc3NlcnQoMCk7CisJCWJyZWFrOworCX0KKworCXJl dHVybjsKK30KKworc3RhdGljIHVpbnQ2NF90CithdGFfYWx0c3RhdHVzX3JlYWQoc3RydWN0IGF0 YV9jaGFubmVsICpjaGFubmVsKQoreworCXN0cnVjdCBhdGFfZHJpdmUgKmRyaXZlID0gJmNoYW5u ZWwtPmRyaXZlc1tjaGFubmVsLT5kcml2ZV07CisJdWludDY0X3QgdmFsdWUgPSAwOworCisJdmFs dWUgPSBkcml2ZS0+YWx0c3RhdHVzOworCisJZHByaW50KExPR19ERUJVRywgImF0YV9hbHRzdGF0 dXNfcmVhZDogdmFsdWU6ICVsdVxuIiwgdmFsdWUpOworCisJcmV0dXJuIHZhbHVlOworfQorCitz dGF0aWMgdm9pZAorYXRhX2NvbnRyb2xfd3JpdGUoc3RydWN0IGF0YV9jaGFubmVsICpjaGFubmVs LAorCQlpbnQgc2l6ZSwgdWludDY0X3QgdmFsdWUpCit7CisJdWludDhfdCByZWdfdmFsdWU7CisJ c3RydWN0IGF0YV9kcml2ZSAqZHJpdmUgPSAmY2hhbm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZl XTsKKworCXJlZ192YWx1ZSA9ICh1aW50OF90KXZhbHVlOworCisJZHByaW50KExPR19ERUJVRywg ImF0YV9jb250cm9sX3dyaXRlOiBpcnFfZGlzYWJsZWQ6ICVkXG4iLCByZWdfdmFsdWUgJiBBVEFf QV9JRFMpOworCisJaWYgKHJlZ192YWx1ZSAmIEFUQV9BX0lEUykKKwkJZHJpdmUtPmlycV9kaXNh YmxlZCA9IDE7CisJZWxzZQorCQlkcml2ZS0+aXJxX2Rpc2FibGVkID0gMDsKKworCWlmIChyZWdf dmFsdWUgJiBBVEFfQV9SRVNFVCkKKwkJYXRhX3Nyc3QoY2hhbm5lbCk7CisKKwlyZXR1cm47Cit9 CisKKy8qCisgKiBQQ0kgQVRBIGZ1bmN0aW9uIGRlZmluaXRpb25zCisgKi8KK3N0YXRpYyB2b2lk CitwY2lfYXRhX2ludHJfYXNzZXJ0KHZvaWQgKmFyZykKK3sKKwlzdHJ1Y3QgcGNpX2F0YV9zb2Z0 YyAqc2MgPSAoc3RydWN0IHBjaV9hdGFfc29mdGMgKilhcmc7CisJc3RydWN0IHBjaV9kZXZpbnN0 ICpwaSA9IHNjLT5hc2NfcGk7CisKKwlwY2lfbGludHJfYXNzZXJ0KHBpKTsKKworCXJldHVybjsK K30KKworc3RhdGljIHZvaWQKK3BjaV9hdGFfaW50cl9kZWFzc2VydCh2b2lkICphcmcpCit7CisJ c3RydWN0IHBjaV9hdGFfc29mdGMgKnNjID0gKHN0cnVjdCBwY2lfYXRhX3NvZnRjICopYXJnOwor CXN0cnVjdCBwY2lfZGV2aW5zdCAqcGkgPSBzYy0+YXNjX3BpOworCisJcGNpX2xpbnRyX2RlYXNz ZXJ0KHBpKTsKKworCXJldHVybjsKK30KKworc3RhdGljIGludAorcGNpX2F0YV9wYXJzZV9wYXJh bXMoY29uc3QgY2hhciAqb3B0cywgY2hhciAqb3B0MCwgY2hhciAqb3B0MSwgdWludDhfdCAqbnJf Y2hhbm5lbHMpCit7CisJdWludDhfdCBsZW47CisJY2hhciB0bXBfb3B0c1sxMjhdOworCWNoYXIg KmNoMCA9IE5VTEwsICpjaDEgPSBOVUxMOworCXVpbnQ4X3QgaTsKKworCWlmICghb3B0cykgewor CQlkcHJpbnQoTE9HX0VSUiwgInBjaV9hdGFfcGFyc2VfcGFyYW1zOiBvcHRzIHNob3VsZCBiZSBs aWtlOiAlc1xuIiwKKwkJICAgICAgICJYLE1BU1RFUl9YWyxTTEFWRV9YXVs7WSxNQVNURVJfWVss U0xBVkVfWV1dIik7CisJCXJldHVybiAtMTsKKwl9CisKKwlsZW4gPSBzdHJsZW4ob3B0cyk7CisJ aWYgKGxlbiA+PSAxMjgpIHsKKwkJZHByaW50KExPR19FUlIsICJwY2lfYXRhX3BhcnNlX3BhcmFt czogUENJIEFUQSBzdHJpbmcgcGFyYW1zIHRvbyBiaWdcbiIpOworCQlyZXR1cm4gLTE7CisJfQor CisJc3RyY3B5KHRtcF9vcHRzLCBvcHRzKTsKKworCWNoMCA9IHRtcF9vcHRzOworCisJZm9yIChp ID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJCWlmICh0bXBfb3B0c1tpXSA9PSBQQ0lfQVRBX0NIX1NF UCkgeworCQkJaWYgKGNoMSkgeworCQkJCWRwcmludChMT0dfRVJSLCAicGNpX2F0YV9wYXJzZV9w YXJhbXM6IHRvIG1hbnkgY2hhbm5lbHNcbiIpOworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJCXRt cF9vcHRzW2ldID0gJ1wwJzsKKwkJCWNoMSA9IHRtcF9vcHRzICsgaSArIDE7CisJCX0KKwl9CisK KwlpZiAoc3RybGVuKGNoMCkgPj0gNjQpIHsKKwkJZHByaW50KExPR19FUlIsICJwY2lfYXRhX3Bh cnNlX3BhcmFtczogdGhlIG5hbWUgb2YgQVRBX1ggY2hhbm5lbCB0b28gYmlnXG4iKTsKKwkJcmV0 dXJuIC0xOworCX0KKwlzdHJjcHkob3B0MCwgY2gwKTsKKwkqbnJfY2hhbm5lbHMgPSAxOworCisJ aWYgKGNoMSAhPSBOVUxMICYmIHN0cmxlbihjaDEpIDwgNjQpIHsKKwkJc3RyY3B5KG9wdDEsICBj aDEpOworCQkqbnJfY2hhbm5lbHMgPSAyOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50CitwY2lfYXRhX2luaXQoc3RydWN0IHZtY3R4ICpjdHgsIHN0cnVjdCBwY2lfZGV2aW5zdCAq cGksIGNoYXIgKm9wdHMsIGludCBhdGFwaSkKK3sKKwlzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5u ZWwgPSBOVUxMOworCXN0cnVjdCBwY2lfYXRhX3NvZnRjICpwY2lfYXRhX3NjID0gTlVMTDsKKwlj aGFyIGNoX29wdHNbMl1bNjRdOworCXVpbnQ4X3QgbnJfY2hhbm5lbHMgPSAwOworCWludCByZXQs IGk7CisKKwlhdGFfb3Blbl9kYmdfZmlsZSgpOworCisJcmV0ID0gcGNpX2F0YV9wYXJzZV9wYXJh bXMob3B0cywgY2hfb3B0c1swXSwgY2hfb3B0c1sxXSwgJm5yX2NoYW5uZWxzKTsKKwlpZiAocmV0 KSB7CisJCWRwcmludChMT0dfRVJSLCAicGNpX2F0YV9pbml0OiBzb21lIGVycm9ycyB3aXRoIHRo ZSBpbnB1dCBjaGVja2luZ1xuIik7CisJCXJldHVybiAtMTsKKwl9CisKKwlwY2lfYXRhX3NjID0g Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgcGNpX2F0YV9zb2Z0YykpOworCWlmICghcGNpX2F0YV9z YykKKwkJcmV0dXJuIC0xOworCisJcGNpX2F0YV9zYy0+Y2hhbm5lbHNbQVRBX1hdID0gTlVMTDsK KwlwY2lfYXRhX3NjLT5jaGFubmVsc1tBVEFfWV0gPSBOVUxMOworCisJZm9yIChpID0gMDsgaSA8 IG5yX2NoYW5uZWxzOyBpKyspIHsKKwkJY2hhbm5lbCA9IGF0YV9pbml0KGN0eCwgcGNpX2F0YV9p bnRyX2Fzc2VydCwgcGNpX2F0YV9pbnRyX2RlYXNzZXJ0LAorCQkJCSAgIHBjaV9hdGFfc2MsIGNo X29wdHNbaV0sIDApOworCQlpZiAoIWNoYW5uZWwpCisJCQljb250aW51ZTsKKwkJY2hhbm5lbC0+ dXNlXzE2Yml0ID0gMDsKKwkJYXNzZXJ0KCFwY2lfYXRhX3NjLT5jaGFubmVsc1tjaGFubmVsLT5p bnRlcmZhY2VdKTsKKwkJcGNpX2F0YV9zYy0+Y2hhbm5lbHNbY2hhbm5lbC0+aW50ZXJmYWNlXSA9 IGNoYW5uZWw7CisJfQorCisJLyogZXhpdCBpZiBub25lIG9mIHRoZSBjaGFubmVscyBhcmUgaW5p dGlhbGl6ZWQgKi8KKwlpZiAoIXBjaV9hdGFfc2MtPmNoYW5uZWxzW0FUQV9YXSAmJiAhcGNpX2F0 YV9zYy0+Y2hhbm5lbHNbQVRBX1ldKSB7CisJCWZyZWUocGNpX2F0YV9zYyk7CisJCXJldHVybiAt MTsKKwl9CisKKwlwaS0+cGlfYXJnID0gcGNpX2F0YV9zYzsKKwlwY2lfYXRhX3NjLT5hc2NfcGkg PSBwaTsKKworCS8qIGdlbmVyaWMgUENJIEFUQS9BVEFQSSBkZXZpY2UgQVRBX0lUODIxMUYgKi8K KwlwY2lfc2V0X2NmZ2RhdGExNihwaSwgUENJUl9ERVZJQ0UsIDB4ODIxMSk7CS8qIEFUQS9BVEFQ SSBDb250cm9sbGVyICovCisJcGNpX3NldF9jZmdkYXRhMTYocGksIFBDSVJfVkVORE9SLCAweDEy ODMpOwkvKiBXYWxkbyAqLworCisJLyogdGhpcyBpcyBhIHN0b3JhZ2UgY2xhc3MgZGV2aWNlICov CisJcGNpX3NldF9jZmdkYXRhOChwaSwgUENJUl9DTEFTUywgUENJQ19TVE9SQUdFKTsKKwkvKiB0 aGlzIGlzIGFuIElERS9BVEEgdHlwZSBkZXZpY2UgKi8KKwlwY2lfc2V0X2NmZ2RhdGE4KHBpLCBQ Q0lSX1NVQkNMQVNTLCBQQ0lTX1NUT1JBR0VfSURFKTsKKworCXBjaV9zZXRfY2ZnZGF0YTgocGks IFBDSVJfUFJPR0lGLCBQQ0lQX1NUT1JBR0VfSURFX01BU1RFUkRFViB8CisJCQkgUENJUF9TVE9S QUdFX0lERV9NT0RFUFJJTSB8IFBDSVBfU1RPUkFHRV9JREVfTU9ERVNFQyk7CisKKwlwY2lfZW11 bF9hbGxvY19iYXIocGksIFBDSV9CQVIwLCBQQ0lCQVJfSU8sIEFUQV9JT1NJWkUpOworCXBjaV9l bXVsX2FsbG9jX2JhcihwaSwgUENJX0JBUjEsIFBDSUJBUl9JTywgQVRBX0NUTElPU0laRSk7CisJ cGNpX2VtdWxfYWxsb2NfYmFyKHBpLCBQQ0lfQkFSMiwgUENJQkFSX0lPLCBBVEFfSU9TSVpFKTsK KwlwY2lfZW11bF9hbGxvY19iYXIocGksIFBDSV9CQVIzLCBQQ0lCQVJfSU8sIEFUQV9DVExJT1NJ WkUpOworCXBjaV9lbXVsX2FsbG9jX2JhcihwaSwgUENJX0JBUjQsIFBDSUJBUl9JTywgQVRBX0NI QU5ORUxTICogQVRBX0JNSU9TSVpFKTsKKworCXBjaV9saW50cl9yZXF1ZXN0KHBpKTsKKworCXJl dHVybiAwOworfQorCitzdGF0aWMgaW50CitwY2lfYXRhX2hkX2luaXQoc3RydWN0IHZtY3R4ICpj dHgsIHN0cnVjdCBwY2lfZGV2aW5zdCAqcGksIGNoYXIgKm9wdHMpCit7CisJcmV0dXJuIChwY2lf YXRhX2luaXQoY3R4LCBwaSwgb3B0cywgMCkpOworfQorCitzdGF0aWMgdm9pZAorcGNpX2F0YV9k bWFfc3RhcnQoc3RydWN0IHBjaV9hdGFfc29mdGMgKnNjLCB1aW50OF90IGNoKQoreworCXN0cnVj dCB2bWN0eCAqY3R4ID0gTlVMTDsKKwlzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwgPSBOVUxM OworCXN0cnVjdCBibG9ja2lmX2N0eHQgKmJjdHh0ID0gTlVMTDsKKwlzdHJ1Y3QgcGNpX2F0YV9k bWFfdHJhbnNhY3Rpb24gKmRtYV90cmFuc2FjdGlvbiA9IE5VTEw7CisJc3RydWN0IGJsb2NraWZf cmVxICpicmVxID0gTlVMTDsKKworCXN0cnVjdCBwcmRfZW50cnkgKnByZHQgPSBOVUxMOworCXN0 cnVjdCBwcmRfZW50cnkgKmVudHJ5ID0gTlVMTDsKKwl1aW50MzJfdCBwcmR0X2FkZHJlc3M7CisJ dWludDMyX3QgaW5kZXg7CisJdWludDMyX3QgYnl0ZV9jb3VudDsKKwl2b2lkICplbnRyeV9idWZm ID0gTlVMTDsKKwlpbnQgZXJyOworCisJY2hhbm5lbCA9IHNjLT5jaGFubmVsc1tjaF07CisKKwlj dHggPSBjaGFubmVsLT52bV9jdHg7CisJYXNzZXJ0KGN0eCAhPSBOVUxMKTsKKworCWJjdHh0ID0g Y2hhbm5lbC0+ZHJpdmVzW2NoYW5uZWwtPmRyaXZlXS5iY3R4dDsKKwlkbWFfdHJhbnNhY3Rpb24g PSAmc2MtPmRtYV90cmFuc2FjdGlvbnNbY2hdOworCisJYXNzZXJ0KGRtYV90cmFuc2FjdGlvbi0+ c3RhcnRlZCk7CisKKwlhc3NlcnQoKChzYy0+Y21kW2NoXSAmIEFUQV9CTUNNRF9XUklURV9SRUFE KSAmJiBkbWFfdHJhbnNhY3Rpb24tPm9wX2RpciA9PSBBVEFfRE1BX1JFQUQpIHx8CisJCSghKHNj LT5jbWRbY2hdICYgQVRBX0JNQ01EX1dSSVRFX1JFQUQpICYmIGRtYV90cmFuc2FjdGlvbi0+b3Bf ZGlyID09IEFUQV9ETUFfV1JJVEUpKTsKKworCXNjLT5zdGF0W2NoXSB8PSBBVEFfQk1TVEFUX0FD VElWRTsKKworCS8qIHByZHRfYWRkcmVzcyBpcyB0aGUgcGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUg cHJkdCBpbiB0aGUgZ3Vlc3QgbWVtb3J5ICovCisJcHJkdF9hZGRyZXNzID0gc2MtPnByZHRbY2hd OworCisJLyogbWFwIHRoZSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIGludG8gdGhlIGhvc3Qgdmly dHVhbCBhZGRyZXNzICovCisJcHJkdCA9IHBhZGRyX2d1ZXN0Mmhvc3QoY3R4LCBwcmR0X2FkZHJl c3MsIEFUQV9ETUFfUFJEVF9TSVpFKTsKKwlhc3NlcnQocHJkdCAhPSBOVUxMKTsKKworCWJyZXEg PSAmZG1hX3RyYW5zYWN0aW9uLT5icmVxOworCWJyZXEtPmJyX3BhcmFtID0gY2hhbm5lbDsKKwli cmVxLT5icl9jYWxsYmFjayA9IGF0YV9oYW5kbGVfYmxvY2tfcmVxdWVzdDsKKwlicmVxLT5icl9v ZmZzZXQgPSBkbWFfdHJhbnNhY3Rpb24tPm9mZnNldDsKKworCWRtYV90cmFuc2FjdGlvbi0+aXNf ZW90ID0gMDsKKwlpbmRleCA9IDA7CisJd2hpbGUgKCFkbWFfdHJhbnNhY3Rpb24tPmlzX2VvdCAm JiBkbWFfdHJhbnNhY3Rpb24tPm5ieXRlcyA+IDApIHsKKwkJZW50cnkgPSBwcmR0ICsgaW5kZXg7 CisKKwkJZW50cnlfYnVmZiA9IHBhZGRyX2d1ZXN0Mmhvc3QoY3R4LCBlbnRyeS0+cHJkX2FkZHJl c3MsIGVudHJ5LT5ieXRlX2NvdW50KTsKKwkJYnl0ZV9jb3VudCA9IGVudHJ5LT5ieXRlX2NvdW50 ID8gZW50cnktPmJ5dGVfY291bnQgOiBBVEFfRE1BX01BWF9QUkRfQ09VTlQ7CisKKwkJaWYgKGJ5 dGVfY291bnQgPiBkbWFfdHJhbnNhY3Rpb24tPm5ieXRlcykgeworCQkJZHByaW50KExPR19FUlIs ICJwY2lfYXRhX2RtYV9zdGFydDogdGhlIFBSRCBlbnRyeSBjb250YWlucyAlcyIsCisJCQkgICAg ICAgIm1vcmUgYnl0ZXMgdGhhbiB0aGUgQVRBIHRyYW5zZmVyIHNpemVcbiIpOworCQkJYnl0ZV9j b3VudCA9IGRtYV90cmFuc2FjdGlvbi0+bmJ5dGVzOworCQl9CisKKwkJaWYgKGluZGV4ID09IEJM T0NLSUZfSU9WX01BWCkgeworCQkJZHByaW50KExPR19FUlIsICJwY2lfYXRhX2RtYV9zdGFydDog dGhlIFBSRCBUYWJsZSBjb250YWlucyAlcyIsCisJCQkgICAgICAgIm1vcmUgdGhhbiBCTE9DS0lG X0lPVl9NQVggZW50cmllc1xuIik7CisJCQlicmVhazsKKwkJfQorCisJCWJyZXEtPmJyX2lvdltp bmRleF0uaW92X2xlbiA9IGJ5dGVfY291bnQ7CisJCWJyZXEtPmJyX2lvdltpbmRleF0uaW92X2Jh c2UgPSBlbnRyeV9idWZmOworCisJCWRtYV90cmFuc2FjdGlvbi0+bmJ5dGVzIC09IGJ5dGVfY291 bnQ7CisKKwkJaWYgKGVudHJ5LT52ZW5kb3Jfc3BlY2lmaWMgJiBBVEFfRE1BX1BSRFRfRU9UKQor CQkJZG1hX3RyYW5zYWN0aW9uLT5pc19lb3QgPSAxOworCisJCWluZGV4Kys7CisJfQorCisJYnJl cS0+YnJfaW92Y250ID0gaW5kZXg7CisKKwlzYy0+c3RhdFtjaF0gfD0gQVRBX0JNU1RBVF9JTlRF UlJVUFQ7CisKKwkvKgorCSAqIFVzZSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBmb3IgcmVhZCAv IHdyaXRlIG9uIHRoZSBibG9jazsKKwkgKiB1cGRhdGUgdGhlIHN0YXR1cyByZWdpc3RlcnMgYW5k IG5vdGlmeSB0aGUgZ3Vlc3Qgb3BlcmF0aW5nCisJICogc3lzdGVtIHVzaW5nIGFuIGludGVycnVw dCBpbiB0aGUgYXRhX2hhbmRsZV9ibG9ja19yZXF1ZXN0IGNhbGxiYWNrCisJICovCisJaWYgKGRt YV90cmFuc2FjdGlvbi0+b3BfZGlyID09IEFUQV9ETUFfUkVBRCkgeworCQllcnIgPSBibG9ja2lm X3JlYWQoYmN0eHQsIGJyZXEpOworCX0KKwllbHNlIGlmIChkbWFfdHJhbnNhY3Rpb24tPm9wX2Rp ciA9PSBBVEFfRE1BX1dSSVRFKSB7CisJCWVyciA9IGJsb2NraWZfd3JpdGUoYmN0eHQsIGJyZXEp OworCX0KKwllbHNlIHsKKwkJYXNzZXJ0KDApOworCX0KKworCWFzc2VydCghZXJyKTsKKworCXJl dHVybjsKK30KKworc3RhdGljIHZvaWQKK3BjaV9hdGFfZG1hX3N0b3Aoc3RydWN0IHBjaV9hdGFf c29mdGMgKnNjLCB1aW50OF90IGNoKQoreworCXN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCA9 IE5VTEw7CisJc3RydWN0IHBjaV9hdGFfZG1hX3RyYW5zYWN0aW9uICpkbWFfdHJhbnNhY3Rpb24g PSBOVUxMOworCisJY2hhbm5lbCA9IHNjLT5jaGFubmVsc1tjaF07CisJZG1hX3RyYW5zYWN0aW9u ID0gJnNjLT5kbWFfdHJhbnNhY3Rpb25zW2NoXTsKKworCWlmKCFkbWFfdHJhbnNhY3Rpb24tPnN0 YXJ0ZWQpIHsKKwkJcmV0dXJuOworCX0KKworCWlmIChkbWFfdHJhbnNhY3Rpb24tPmlzX2VvdCAm JiBkbWFfdHJhbnNhY3Rpb24tPm5ieXRlcyA9PSAwKSB7CisJCXNjLT5zdGF0W2NoXSB8PSBBVEFf Qk1TVEFUX0lOVEVSUlVQVDsKKwkJc2MtPnN0YXRbY2hdICY9IH5BVEFfQk1TVEFUX0VSUk9SOwor CQlzYy0+c3RhdFtjaF0gJj0gfkFUQV9CTVNUQVRfQUNUSVZFOworCX0KKwllbHNlIGlmICghZG1h X3RyYW5zYWN0aW9uLT5pc19lb3QgJiYgZG1hX3RyYW5zYWN0aW9uLT5uYnl0ZXMgPT0gMCkgewor CQlzYy0+c3RhdFtjaF0gfD0gQVRBX0JNU1RBVF9JTlRFUlJVUFQ7CisJCXNjLT5zdGF0W2NoXSAm PSB+QVRBX0JNU1RBVF9FUlJPUjsKKwkJc2MtPnN0YXRbY2hdIHw9IEFUQV9CTVNUQVRfQUNUSVZF OworCQlkcHJpbnQoTE9HX0VSUiwgInBjaV9hdGFfZG1hX3N0b3A6IERNQSBQUkRUIHRyYW5zZmVy IHdhcyAlcyIsCisJCSAgICAgICAibGFyZ2VyIHRoYW4gdGhlIEFUQSB0cmFuc2ZlciBzaXplXG4i KTsKKwl9CisJZWxzZSBpZiAoZG1hX3RyYW5zYWN0aW9uLT5pc19lb3QgJiYgZG1hX3RyYW5zYWN0 aW9uLT5uYnl0ZXMgPiAwKSB7CisJCXNjLT5zdGF0W2NoXSAmPSB+QVRBX0JNU1RBVF9JTlRFUlJV UFQ7CisJCXNjLT5zdGF0W2NoXSAmPSB+QVRBX0JNU1RBVF9FUlJPUjsKKwkJc2MtPnN0YXRbY2hd ICY9IH5BVEFfQk1TVEFUX0FDVElWRTsKKwkJZHByaW50KExPR19FUlIsICJwY2lfYXRhX2RtYV9z dG9wOiBETUEgUFJEVCB0cmFuc2ZlciB3YXMgJXMiLAorCQkgICAgICAgInNtYWxsZXIgdGhhbiB0 aGUgQVRBIHRyYW5zZmVyIHNpemVcbiIpOworCX0KKwllbHNlIGlmICghZG1hX3RyYW5zYWN0aW9u LT5pc19lb3QgJiYgZG1hX3RyYW5zYWN0aW9uLT5uYnl0ZXMgPiAwKSB7CisJCXNjLT5zdGF0W2No XSB8PSBBVEFfQk1TVEFUX0VSUk9SOworCQlkcHJpbnQoTE9HX0VSUiwgInBjaV9hdGFfZG1hX3N0 b3A6IHRoZSBQUkQgVGFibGUgY29udGFpbnMgJXMiLAorCQkgICAgICAgIm1vcmUgdGhhbiBCTE9D S0lGX0lPVl9NQVggZW50cmllc1xuIik7CisJfQorCisJZG1hX3RyYW5zYWN0aW9uLT5zdGFydGVk ID0gMDsKKworCXJldHVybjsKK30KKworc3RhdGljIHVpbnQ2NF90CitwY2lfYXRhX2J1c19tYXN0 ZXJfcmVhZChzdHJ1Y3QgcGNpX2F0YV9zb2Z0YyAqc2MsIHVpbnQ2NF90IG9mZnNldCkKK3sKKwl1 aW50NjRfdCB2YWx1ZSA9IDA7CisKKwlzd2l0Y2ggKG9mZnNldCkgeworCWNhc2UgQVRBX0JNQ01E X1hfUkVHOgorCQl2YWx1ZSA9IHNjLT5jbWRbQVRBX1hdOworCQlkcHJpbnQoTE9HX0RFQlVHLCAi cGNpX2F0YV9idXNfbWFzdGVyX3JlYWQ6IEFUQV9CTUNNRF9YX1JFRzogJWx1XG4iLCB2YWx1ZSk7 CisJCWJyZWFrOworCWNhc2UgQVRBX0JNU1RBVF9YX1JFRzoKKwkJdmFsdWUgPSBzYy0+c3RhdFtB VEFfWF07CisJCWRwcmludChMT0dfREVCVUcsICJwY2lfYXRhX2J1c19tYXN0ZXJfcmVhZDogQVRB X0JNU1RBVF9YX1JFRzogJWx1XG4iLCB2YWx1ZSk7CisJCWJyZWFrOworCWNhc2UgQVRBX0JNUFJE VF9YX1JFRzoKKwkJdmFsdWUgPSBzYy0+cHJkdFtBVEFfWF07CisJCWRwcmludChMT0dfREVCVUcs ICJwY2lfYXRhX2J1c19tYXN0ZXJfcmVhZDogQVRBX0JNUFJEVF9YX1JFRzogJWx1XG4iLCB2YWx1 ZSk7CisJCWJyZWFrOworCWNhc2UgQVRBX0JNQ01EX1lfUkVHOgorCQl2YWx1ZSA9IHNjLT5jbWRb QVRBX1ldOworCQlkcHJpbnQoTE9HX0RFQlVHLCAicGNpX2F0YV9idXNfbWFzdGVyX3JlYWQ6IEFU QV9CTUNNRF9ZX1JFRzogJWx1XG4iLCB2YWx1ZSk7CisJCWJyZWFrOworCWNhc2UgQVRBX0JNU1RB VF9ZX1JFRzoKKwkJdmFsdWUgPSBzYy0+c3RhdFtBVEFfWV07CisJCWRwcmludChMT0dfREVCVUcs ICJwY2lfYXRhX2J1c19tYXN0ZXJfcmVhZDogQVRBX0JNU1RBVF9ZX1JFRzogJWx1XG4iLCB2YWx1 ZSk7CisJCWJyZWFrOworCWNhc2UgQVRBX0JNUFJEVF9ZX1JFRzoKKwkJdmFsdWUgPSBzYy0+cHJk dFtBVEFfWV07CisJCWRwcmludChMT0dfREVCVUcsICJwY2lfYXRhX2J1c19tYXN0ZXJfcmVhZDog QVRBX0JNUFJEVF9ZX1JFRzogJWx1XG4iLCB2YWx1ZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJ CXZhbHVlID0gMDsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHZhbHVlOworfQorCitzdGF0aWMg dm9pZAorcGNpX2F0YV9idXNfbWFzdGVyX3dyaXRlKHN0cnVjdCBwY2lfYXRhX3NvZnRjICpzYywK KwkJdWludDY0X3Qgb2Zmc2V0LCBpbnQgc2l6ZSwgdWludDY0X3QgdmFsdWUpCit7CisKKwl1aW50 OF90IHJlZ192YWx1ZTsKKworCWlmIChvZmZzZXQgIT0gQVRBX0JNUFJEVF9YX1JFRyAmJiBvZmZz ZXQgIT0gQVRBX0JNUFJEVF9ZX1JFRyAmJiBzaXplICE9IDEpCisJCXJldHVybjsKKwlpZiAoKG9m ZnNldCA9PSBBVEFfQk1QUkRUX1hfUkVHIHx8IG9mZnNldCA9PSBBVEFfQk1QUkRUX1lfUkVHKSAm JiBzaXplICE9IDQpCisJCXJldHVybjsKKworCXN3aXRjaCAob2Zmc2V0KSB7CisJY2FzZSBBVEFf Qk1DTURfWF9SRUc6CisJCXJlZ192YWx1ZSA9IHNjLT5jbWRbQVRBX1hdID0gKHVpbnQ4X3QpdmFs dWU7CisKKwkJZHByaW50KExPR19ERUJVRywgInBjaV9hdGFfYnVzX21hc3Rlcl93cml0ZVtYXTog QVRBX0JNQ01EX1NUQVJUX1NUT1A6ICVkXG4iLAorCQkgICAgICAgcmVnX3ZhbHVlICYgQVRBX0JN Q01EX1NUQVJUX1NUT1ApOworCQlpZiAocmVnX3ZhbHVlICYgQVRBX0JNQ01EX1NUQVJUX1NUT1Ap IHsKKwkJCXBjaV9hdGFfZG1hX3N0YXJ0KHNjLCBBVEFfWCk7CisJCX0KKwkJZWxzZSB7CisJCQlw Y2lfYXRhX2RtYV9zdG9wKHNjLCBBVEFfWCk7CisJCX0KKworCQlkcHJpbnQoTE9HX0RFQlVHLCAi cGNpX2F0YV9idXNfbWFzdGVyX3dyaXRlW1hdOiBBVEFfQk1DTURfV1JJVEVfUkVBRDogJWRcbiIs CisJCSAgICAgICByZWdfdmFsdWUgJiBBVEFfQk1DTURfV1JJVEVfUkVBRCk7CisJCWJyZWFrOwor CWNhc2UgQVRBX0JNU1RBVF9YX1JFRzoKKwkJcmVnX3ZhbHVlID0gc2MtPnN0YXRbQVRBX1hdID0g KHVpbnQ4X3QpdmFsdWU7CisJCWRwcmludChMT0dfREVCVUcsICJwY2lfYXRhX2J1c19tYXN0ZXJf d3JpdGVbWF06IEFUQV9CTVNUQVRfSU5URVJSVVBUOiAlZCwgQVRBX0JNU1RBVF9FUlJPUjogJWRc biIsCisJCQkJcmVnX3ZhbHVlICAmIEFUQV9CTVNUQVRfSU5URVJSVVBULCByZWdfdmFsdWUgJiBB VEFfQk1TVEFUX0VSUk9SKTsKKwkJaWYgKHJlZ192YWx1ZSAmIEFUQV9CTVNUQVRfSU5URVJSVVBU KQorCQkJc2MtPnN0YXRbQVRBX1hdICY9IH5BVEFfQk1TVEFUX0lOVEVSUlVQVDsKKwkJaWYgKHJl Z192YWx1ZSAmIEFUQV9CTVNUQVRfRVJST1IpCisJCQlzYy0+c3RhdFtBVEFfWF0gJj0gfkFUQV9C TVNUQVRfRVJST1I7CisJCWJyZWFrOworCWNhc2UgQVRBX0JNUFJEVF9YX1JFRzoKKwkJZHByaW50 KExPR19ERUJVRywgInBjaV9hdGFfYnVzX21hc3Rlcl93cml0ZVtYXTogQVRBX0JNUFJEVF9YX1JF RzogMHgleFxuIiwgKHVpbnQzMl90KXZhbHVlKTsKKwkJc2MtPnByZHRbQVRBX1hdID0gdmFsdWU7 CisJCWJyZWFrOworCWNhc2UgQVRBX0JNQ01EX1lfUkVHOgorCQlyZWdfdmFsdWUgPSBzYy0+Y21k W0FUQV9ZXSA9ICh1aW50OF90KXZhbHVlOworCisJCWRwcmludChMT0dfREVCVUcsICJwY2lfYXRh X2J1c19tYXN0ZXJfd3JpdGVbWV06IEFUQV9CTUNNRF9TVEFSVF9TVE9QOiAlZFxuIiwKKwkJICAg ICAgIHJlZ192YWx1ZSAmIEFUQV9CTUNNRF9TVEFSVF9TVE9QKTsKKwkJaWYgKHJlZ192YWx1ZSAm IEFUQV9CTUNNRF9TVEFSVF9TVE9QKSB7CisJCQlwY2lfYXRhX2RtYV9zdGFydChzYywgQVRBX1kp OworCQl9CisJCWVsc2UgeworCQkJcGNpX2F0YV9kbWFfc3RvcChzYywgQVRBX1kpOworCQl9CisK KwkJZHByaW50KExPR19ERUJVRywgInBjaV9hdGFfYnVzX21hc3Rlcl93cml0ZVtZXTogQVRBX0JN Q01EX1dSSVRFX1JFQUQ6ICVkXG4iLAorCQkgICAgICAgcmVnX3ZhbHVlICYgQVRBX0JNQ01EX1dS SVRFX1JFQUQpOworCQlicmVhazsKKwljYXNlIEFUQV9CTVNUQVRfWV9SRUc6CisJCXJlZ192YWx1 ZSA9IHNjLT5zdGF0W0FUQV9ZXSA9ICh1aW50OF90KXZhbHVlOworCQlkcHJpbnQoTE9HX0RFQlVH LCAicGNpX2F0YV9idXNfbWFzdGVyX3dyaXRlW1ldOiBBVEFfQk1TVEFUX0lOVEVSUlVQVDogJWQs IEFUQV9CTVNUQVRfRVJST1I6ICVkXG4iLAorCQkJCXJlZ192YWx1ZSAgJiBBVEFfQk1TVEFUX0lO VEVSUlVQVCwgcmVnX3ZhbHVlICYgQVRBX0JNU1RBVF9FUlJPUik7CisJCWlmIChyZWdfdmFsdWUg JiBBVEFfQk1TVEFUX0lOVEVSUlVQVCkKKwkJCXNjLT5zdGF0W0FUQV9ZXSAmPSB+QVRBX0JNU1RB VF9JTlRFUlJVUFQ7CisJCWlmIChyZWdfdmFsdWUgJiBBVEFfQk1TVEFUX0VSUk9SKQorCQkJc2Mt PnN0YXRbQVRBX1ldICY9IH5BVEFfQk1TVEFUX0VSUk9SOworCQlicmVhazsKKwljYXNlIEFUQV9C TVBSRFRfWV9SRUc6CisJCWRwcmludChMT0dfREVCVUcsICJwY2lfYXRhX2J1c19tYXN0ZXJfd3Jp dGVbWV06IEFUQV9CTVBSRFRfWF9SRUc6IDB4JXhcbiIsICh1aW50MzJfdCl2YWx1ZSk7CisJCXNj LT5wcmR0W0FUQV9ZXSA9ICh1aW50MzJfdCl2YWx1ZTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJ YnJlYWs7CisJfQorCisJcmV0dXJuOworfQorCitzdGF0aWMgdWludDY0X3QKK3BjaV9hdGFfcmVh ZChzdHJ1Y3Qgdm1jdHggKmN0eCwgaW50IHZjcHUsIHN0cnVjdCBwY2lfZGV2aW5zdCAqcGksIGlu dCBiYXJpZHgsCisJCXVpbnQ2NF90IG9mZnNldCwgaW50IHNpemUpCit7CisJc3RydWN0IHBjaV9h dGFfc29mdGMgKnNjID0gcGktPnBpX2FyZzsKKwl1aW50NjRfdCB2YWx1ZSA9IDA7CisKKwlzd2l0 Y2ggKGJhcmlkeCkgeworCWNhc2UgUENJX0JBUjA6CisJCWlmICghc2MtPmNoYW5uZWxzW0FUQV9Y XSkKKwkJCWJyZWFrOworCQlhc3NlcnQoYXRhX2NoYW5uZWxfaXNfb2soc2MtPmNoYW5uZWxzW0FU QV9YXSwgQVRBX1gpKTsKKwkJdmFsdWUgPSBhdGFfY29tbWFuZF9ibG9ja19yZWFkKHNjLT5jaGFu bmVsc1tBVEFfWF0sIG9mZnNldCk7CisJCWJyZWFrOworCWNhc2UgUENJX0JBUjE6CisJCWlmICgh c2MtPmNoYW5uZWxzW0FUQV9YXSkKKwkJCWJyZWFrOworCQlhc3NlcnQoYXRhX2NoYW5uZWxfaXNf b2soc2MtPmNoYW5uZWxzW0FUQV9YXSwgQVRBX1gpKTsKKwkJdmFsdWUgPSBhdGFfYWx0c3RhdHVz X3JlYWQoc2MtPmNoYW5uZWxzW0FUQV9YXSk7CisJCWJyZWFrOworCWNhc2UgUENJX0JBUjI6CisJ CWlmICghc2MtPmNoYW5uZWxzW0FUQV9ZXSkKKwkJCWJyZWFrOworCQlhc3NlcnQoYXRhX2NoYW5u ZWxfaXNfb2soc2MtPmNoYW5uZWxzW0FUQV9ZXSwgQVRBX1kpKTsKKwkJdmFsdWUgPSBhdGFfY29t bWFuZF9ibG9ja19yZWFkKHNjLT5jaGFubmVsc1tBVEFfWV0sIG9mZnNldCk7CisJCWJyZWFrOwor CWNhc2UgUENJX0JBUjM6CisJCWlmICghc2MtPmNoYW5uZWxzW0FUQV9ZXSkKKwkJCWJyZWFrOwor CQlhc3NlcnQoYXRhX2NoYW5uZWxfaXNfb2soc2MtPmNoYW5uZWxzW0FUQV9ZXSwgQVRBX1kpKTsK KwkJdmFsdWUgPSBhdGFfYWx0c3RhdHVzX3JlYWQoc2MtPmNoYW5uZWxzW0FUQV9ZXSk7CisJCWJy ZWFrOworCWNhc2UgUENJX0JBUjQ6CisJCXZhbHVlID0gcGNpX2F0YV9idXNfbWFzdGVyX3JlYWQo c2MsIG9mZnNldCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWFzc2VydCgwKTsKKwkJYnJlYWs7 CisJfQorCisJcmV0dXJuIHZhbHVlOworfQorCitzdGF0aWMgdm9pZAorcGNpX2F0YV93cml0ZShz dHJ1Y3Qgdm1jdHggKmN0eCwgaW50IHZjcHUsIHN0cnVjdCBwY2lfZGV2aW5zdCAqcGksCisJCWlu dCBiYXJpZHgsIHVpbnQ2NF90IG9mZnNldCwgaW50IHNpemUsIHVpbnQ2NF90IHZhbHVlKQorewor CXN0cnVjdCBwY2lfYXRhX3NvZnRjICpzYyA9IHBpLT5waV9hcmc7CisKKwlzd2l0Y2ggKGJhcmlk eCkgeworCWNhc2UgUENJX0JBUjA6CisJCWlmICghc2MtPmNoYW5uZWxzW0FUQV9YXSkKKwkJCWJy ZWFrOworCQlhc3NlcnQoYXRhX2NoYW5uZWxfaXNfb2soc2MtPmNoYW5uZWxzW0FUQV9YXSwgQVRB X1gpKTsKKwkJYXRhX2NvbW1hbmRfYmxvY2tfd3JpdGUoc2MtPmNoYW5uZWxzW0FUQV9YXSwgb2Zm c2V0LCBzaXplLCB2YWx1ZSk7CisJCWJyZWFrOworCWNhc2UgUENJX0JBUjE6CisJCWlmICghc2Mt PmNoYW5uZWxzW0FUQV9YXSkKKwkJCWJyZWFrOworCQlhc3NlcnQoYXRhX2NoYW5uZWxfaXNfb2so c2MtPmNoYW5uZWxzW0FUQV9YXSwgQVRBX1gpKTsKKwkJYXRhX2NvbnRyb2xfd3JpdGUoc2MtPmNo YW5uZWxzW0FUQV9YXSwgc2l6ZSwgdmFsdWUpOworCQlicmVhazsKKwljYXNlIFBDSV9CQVIyOgor CQlpZiAoIXNjLT5jaGFubmVsc1tBVEFfWV0pCisJCQlicmVhazsKKwkJYXNzZXJ0KGF0YV9jaGFu bmVsX2lzX29rKHNjLT5jaGFubmVsc1tBVEFfWV0sIEFUQV9ZKSk7CisJCWF0YV9jb21tYW5kX2Js b2NrX3dyaXRlKHNjLT5jaGFubmVsc1tBVEFfWV0sIG9mZnNldCwgc2l6ZSwgdmFsdWUpOworCQli cmVhazsKKwljYXNlIFBDSV9CQVIzOgorCQlpZiAoIXNjLT5jaGFubmVsc1tBVEFfWV0pCisJCQli cmVhazsKKwkJYXNzZXJ0KGF0YV9jaGFubmVsX2lzX29rKHNjLT5jaGFubmVsc1tBVEFfWV0sIEFU QV9ZKSk7CisJCWF0YV9jb250cm9sX3dyaXRlKHNjLT5jaGFubmVsc1tBVEFfWV0sIHNpemUsIHZh bHVlKTsKKwkJYnJlYWs7CisJY2FzZSBQQ0lfQkFSNDoKKwkJcGNpX2F0YV9idXNfbWFzdGVyX3dy aXRlKHNjLCBvZmZzZXQsIHNpemUsIHZhbHVlKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYXNz ZXJ0KDApOworCQlicmVhazsKKwl9CisKKwlyZXR1cm47Cit9CisKKy8qCisgKiBMUEMgQVRBIGZ1 bmN0aW9uIGRlZmluaXRpb25zCisgKi8KK3N0YXRpYyB2b2lkCitscGNfYXRhX2ludHJfYXNzZXJ0 KHZvaWQgKmFyZykKK3sKKwlzdHJ1Y3QgbHBjX2F0YV9zb2Z0YyAqc2NfbHBjX2F0YSA9IChzdHJ1 Y3QgbHBjX2F0YV9zb2Z0YyAqKWFyZzsKKwlzdHJ1Y3Qgdm1jdHggKmxwY19jdHggPSBzY19scGNf YXRhLT5jaGFubmVsLT52bV9jdHg7CisKKwl2bV9pc2FfcHVsc2VfaXJxKGxwY19jdHgsIHNjX2xw Y19hdGEtPmlycSwgc2NfbHBjX2F0YS0+aXJxKTsKKworCXJldHVybjsKK30KKworc3RhdGljIHZv aWQKK2xwY19hdGFfaW50cl9kZWFzc2VydCh2b2lkICphcmcpCit7CisJLyoKKwkgKiBUaGUgQVRB IGRldmljZXMgb24gdGhlIExQQyBidXMgZ2VuZXJhdGUgZWRnZSB0cmlnZ2VyZWQgaW50ZXJydXB0 cworCSAqIHNvIG5vdGhpbmcgbW9yZSB0byBkbyBoZXJlCisJICovCisKKwlyZXR1cm47Cit9CisK K2ludAorbHBjX2F0YV9pbml0KHN0cnVjdCB2bWN0eCAqY3R4LCBjb25zdCBjaGFyICpvcHRzKQor eworCXN0cnVjdCBhdGFfY2hhbm5lbCAqY2hhbm5lbCA9IE5VTEw7CisJc3RydWN0IGlub3V0X3Bv cnQgaW9wLCBpb2N0bHA7CisJaW50IGNoX2F0YSA9IC0xOworCWludCBlcnI7CisKKwlhdGFfb3Bl bl9kYmdfZmlsZSgpOworCisJYXNzZXJ0KG9wdHNbMF0gPT0gJzAnIHx8IG9wdHNbMF0gPT0gJzEn KTsKKwljaF9hdGEgPSBvcHRzWzBdIC0gJzAnOworCisJaWYgKGxwY19hdGFfc2NbY2hfYXRhXS5j aGFubmVsKSB7CisJCWRwcmludChMT0dfRVJSLCAibHBjX2F0YV9pbml0OiB0aGUgTFBDIGF0YSVk IGlzIGluaXRpYWxpemVkXG4iLCBjaF9hdGEpOworCQlyZXR1cm4gLTE7CisJfQorCisJY2hhbm5l bCA9IGF0YV9pbml0KGN0eCwgbHBjX2F0YV9pbnRyX2Fzc2VydCwgbHBjX2F0YV9pbnRyX2RlYXNz ZXJ0LCAmbHBjX2F0YV9zY1tjaF9hdGFdLCBvcHRzLCAxKTsKKwlpZiAoIWNoYW5uZWwpCisJCXJl dHVybiAtMTsKKworCWFzc2VydChjaF9hdGEgPT0gY2hhbm5lbC0+aW50ZXJmYWNlKTsKKwljaGFu bmVsLT51c2VfMTZiaXQgPSAxOworCisJbHBjX2F0YV9zY1tjaF9hdGFdLmNoYW5uZWwgPSBjaGFu bmVsOworCisJYnplcm8oJmlvcCwgc2l6ZW9mKHN0cnVjdCBpbm91dF9wb3J0KSk7CisJaW9wLm5h bWUgPSBscGNfYXRhX3NjW2NoX2F0YV0ubmFtZV9pbzsKKwlpb3AucG9ydCA9IGxwY19hdGFfc2Nb Y2hfYXRhXS5iYXNlX2FkZHJfaW87CisJaW9wLnNpemUgPSBBVEFfSU9TSVpFOworCWlvcC5mbGFn cyA9IElPUE9SVF9GX0lOT1VUOworCWlvcC5oYW5kbGVyID0gbHBjX2F0YV9pb19oYW5kbGVyOwor CWlvcC5hcmcgPSAmbHBjX2F0YV9zY1tjaF9hdGFdOworCisJZXJyID0gcmVnaXN0ZXJfaW5vdXQo JmlvcCk7CisJYXNzZXJ0KGVyciA9PSAwKTsKKworCWJ6ZXJvKCZpb2N0bHAsIHNpemVvZihzdHJ1 Y3QgaW5vdXRfcG9ydCkpOworCWlvY3RscC5uYW1lID0gbHBjX2F0YV9zY1tjaF9hdGFdLm5hbWVf aW9jdGw7CisJaW9jdGxwLnBvcnQgPSBscGNfYXRhX3NjW2NoX2F0YV0uYmFzZV9hZGRyX2lvY3Rs OworCWlvY3RscC5zaXplID0gQVRBX0NUTElPU0laRTsKKwlpb2N0bHAuZmxhZ3MgPSBJT1BPUlRf Rl9JTk9VVDsKKwlpb2N0bHAuaGFuZGxlciA9IGxwY19hdGFfaW9jdGxfaGFuZGxlcjsKKwlpb2N0 bHAuYXJnID0gJmxwY19hdGFfc2NbY2hfYXRhXTsKKworCWVyciA9IHJlZ2lzdGVyX2lub3V0KCZp b2N0bHApOworCWFzc2VydChlcnIgPT0gMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlu dAorbHBjX2F0YV9pb19oYW5kbGVyKHN0cnVjdCB2bWN0eCAqY3R4LCBpbnQgdmNwdSwKKwkJICAg aW50IGluLCBpbnQgcG9ydCwgaW50IGJ5dGVzLCB1aW50MzJfdCAqZWF4LCB2b2lkICphcmcpCit7 CisJc3RydWN0IGxwY19hdGFfc29mdGMgKmxwY19zYyA9IChzdHJ1Y3QgbHBjX2F0YV9zb2Z0YyAq KWFyZzsKKwlzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoYW5uZWwgPSBOVUxMOworCXVpbnQ4X3Qgb2Zm c2V0ID0gMDsKKworCWFzc2VydChscGNfc2MpOworCWNoYW5uZWwgPSBscGNfc2MtPmNoYW5uZWw7 CisJYXNzZXJ0KGNoYW5uZWwpOworCisJb2Zmc2V0ID0gcG9ydCAtIGxwY19zYy0+YmFzZV9hZGRy X2lvOworCWFzc2VydChvZmZzZXQgPCBBVEFfSU9TSVpFKTsKKworCWlmIChpbikKKwkJKmVheCA9 IGF0YV9jb21tYW5kX2Jsb2NrX3JlYWQoY2hhbm5lbCwgb2Zmc2V0KTsKKwllbHNlCisJCWF0YV9j b21tYW5kX2Jsb2NrX3dyaXRlKGNoYW5uZWwsIG9mZnNldCwgYnl0ZXMsICplYXgpOworCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2xwY19hdGFfaW9jdGxfaGFuZGxlcihzdHJ1Y3Qgdm1j dHggKmN0eCwgaW50IHZjcHUsCisJCSAgIGludCBpbiwgaW50IHBvcnQsIGludCBieXRlcywgdWlu dDMyX3QgKmVheCwgdm9pZCAqYXJnKQoreworCXN0cnVjdCBscGNfYXRhX3NvZnRjICpscGNfc2Mg PSAoc3RydWN0IGxwY19hdGFfc29mdGMgKilhcmc7CisJc3RydWN0IGF0YV9jaGFubmVsICpjaGFu bmVsID0gTlVMTDsKKwl1aW50OF90IG9mZnNldCA9IDA7CisKKwlhc3NlcnQobHBjX3NjKTsKKwlj aGFubmVsID0gbHBjX3NjLT5jaGFubmVsOworCWFzc2VydChjaGFubmVsKTsKKworCW9mZnNldCA9 IHBvcnQgLSBscGNfc2MtPmJhc2VfYWRkcl9pb2N0bDsKKwlhc3NlcnQob2Zmc2V0IDwgQVRBX0NU TElPU0laRSk7CisKKwlpZiAoaW4pCisJCSplYXggPSBhdGFfYWx0c3RhdHVzX3JlYWQoY2hhbm5l bCk7CisJZWxzZQorCQlhdGFfY29udHJvbF93cml0ZShjaGFubmVsLCBieXRlcywgKmVheCk7CisK KwlyZXR1cm4gMDsKK30KKwoK --b1_370e5c04a721b87eab23b165702327c0--