SFP/SFP+ , PCI Express Gigabit Ethernet NIC Card supplier, 10G NIC, Server Adapter Intel chipsets

2013-03-29 Thread 王坤
Hello,
I am jean and very glad to know you from Google website .Checked your website 
and maybe your customer need our products so  
Write to you and talk about whether we could cooperate with each other in the 
further .
we are the manufacturer of PCI Express 1G &10G Ethernet NIC Card(Server Adapter 
NIC Cards),Intel chipsets, Our Femrice 
brand .CE,FC,ROHS, Stock, lifetime warranty.Very good price in the market. 
we also supply SFP ,SFP+,XFP and other special modules .
The Following one is our mainly NIC Cards:
Fiber cards :
1. PCI Express(x4/) Dual Port Gigabit Ethernet NIC Card, Fiber NIC Card , SFP 
Slot ,LC, Intel82571EB Chipset controller , Type Number : 10002PF
2. PCI Express (x4) Dual Port Gigabit Ethernet NIC Card, Fiber NIC Card ,SFP 
Slot ,LC, Intel82576EB Chipset controller ,  Type Number : 10002EF
3.PCI Express(x4)  Dual Port Gigabit Ethernet NIC Card, Fiber NIC Card ,SFP 
Slot ,LC, Intel82580DBChipset controller ,  Type Number : 1G2DB580-SFP
4. PCI Express (x4) Single Port Gigabit Ethernet NIC Card, Fiber NIC Card ,SFP 
Slot ,LC, Intel82572EI Chipset controller ,  Type Number : 10001PF
5. PCI Express (x1) Single Port Gigabit Ethernet NIC Card, Fiber NIC Card ,SFP 
Slot ,LC, Intel82583 Chipset controller ,  Type Number : 1GPF583-SFP
6.PCI Express (x8) Dual Port 10G Ethernet NIC Card, Fiber NIC Card ,SFP Slot 
,LC, Intel82599ES Chipset controller ,  Type Number : 10G2BF-SFP+
7. PCI Express(x4/) Dual Port/Single Port Gigabit Ethernet NIC Card, Fiber , 
SFP Slot ,LC, Intel82571EB Chipset controller , just Transmissive no receiver 
functions Type Number : 1G2BF571-TX (Mainly used in Uni-directional GAP )
8.PCI Express(x4/) Dual Port/Single Port Gigabit Ethernet NIC Card, Fiber , SFP 
Slot ,LC, Intel82571EB Chipset controller , just Receiver no Transmission
functions Type Number : 1G2BF571-RX (Mainly used in Uni-directional GAP )

Copper NIC Cards:
1. PCI Express(x4/) Dual Port Gigabit Ethernet NIC Card, Copper NIC,RJ45 Slot , 
Intel82571EB Chipset controller , Type Number : 10002PT
2. PCI Express(x4/) Dual Port Gigabit Ethernet NIC Card, Copper NIC,RJ45 Slot , 
Intel82576EB Chipset controller , Type Number : 10002ET
Plz reply to me if you are interested in our Products .
Hope we have chance to cooperate with each other in the further .
If you have Skype or MSN ID is more better ,My skype : Dream-fly99
Best Regards
Jean heng

Femrice (China) Technology Co., Ltd.
Tel:0086-10-51266807-813
Mobile:0086-13001023615
Fax: 0086-10-62979343
Email: j...@femrice.com   j...@femrice.com.cn
Websites: http://www.ethernetserveradapter.com/  www.femrice.com 
Skype: Dream-fly99
MSN: dream-fl...@hotmail.com



















___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


vlan with modified MAC fails to communicate

2013-03-29 Thread Pablo Ribalta Lorenzo

Hi there!

Lately I've been investigating an issue that I would like to share, as I feel I 
may have to attack it from a different end.

I have an ethernet interface from where I create a vlan. Once I set up the ip 
address in the vlan I can ping correctly on both
sides. The issue arrives when I try to change the MAC address of the vlan, as 
from then on it fails to communicate unless:

- I restore vlan's MAC address to its previous value
- I enable promisc mode.

It's also worth to mention that my current setup is FreeBSD 8.3 and the NIC 
driver I'm using is not fully mature.

I was wondering if this behavior is due to some limitations in the NCI driver 
I'm using or if in fact it's the correct way to
proceed, as it was possible to reproduce this same issue in FreeBSD 8.3 and 
FreeBSD CURRENT versions, even using more mature
NIC drivers as 'em' and 're'.

Could somebody please shed some light in this? Thank you.

--
Pozdrawiam,
Pablo Ribalta Lorenzo

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: misc/177456: An error of calculating TCP sequence number will resault in the machine to restart

2013-03-29 Thread Gleb Smirnoff
The following reply was made to PR kern/177456; it has been noted by GNATS.

From: Gleb Smirnoff 
To: HouYeFei&XiBoLiu 
Cc: freebsd-gnats-sub...@freebsd.org
Subject: Re: misc/177456: An error of calculating TCP sequence number will
 resault in the machine to restart
Date: Fri, 29 Mar 2013 16:08:03 +0400

   HouYeFei & XiBoLiu,
 
 On Thu, Mar 28, 2013 at 11:55:04PM +, HouYeFei&XiBoLiu wrote:
 H> >Number: 177456
 H> >Category:   misc
 H> >Synopsis:   An error of calculating TCP sequence number will resault 
in the machine to restart
 H> >Confidential:   no
 H> >Severity:   non-critical
 H> >Priority:   low
 H> >Responsible:freebsd-bugs
 H> >State:  open
 H> >Quarter:
 H> >Keywords:   
 H> >Date-Required:
 H> >Class:  sw-bug
 H> >Submitter-Id:   current-users
 H> >Arrival-Date:   Fri Mar 29 00:00:00 UTC 2013
 H> >Closed-Date:
 H> >Last-Modified:
 H> >Originator: HouYeFei&XiBoLiu
 H> >Release:FreeBSD-9.0
 H> >Organization:
 H> H3C
 H> >Environment:
 H> FreeBSD www.unixnotes.net 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Sun May  4 
12:36:15 HKT 2012 
r...@www.unixnotes.net:/usr/src/sys/i386/compile/unixnotes  i386
 H> >Description:
 H> There is  a large number of TCP links between  Client and Server, each link 
can transmit large amounts of data. When the Client is low on memory, at the 
same time it wants  to establish a new  TCP connection to the server. The 
Client sends SYN message and startups retransmission timer, but retransmission 
of the first time
 H> 
 H> sends failed because there is not enough mbuf.At this time, a sequence 
number is transmitted messages on the tcpcb (tp->snd_nxt) regression. Then
 H> 
 H> a syn+ack message is received and processing the tp->snd_una sequence 
number is increased by 1, resault in tp->snd_nxt < th->snd_una. It is likely 
that 
 H> 
 H> the sending buffer has data to send, but actually is empty, call
 H> 
 H> Tcp_output to send ack to the Server. But Tcp_output enter to the mbuf 
replication process, leading to access a null pointer.
 
 I am trying to reproduce the problem, with no success yet.
 
 Can you please clarify the sequence of failures that is required? I understand
 your submission in the following way:
 
 Client performs connect(2).
 Client TCP stack generates SYN packet, and this packet is lost in network.
 Client TCP stack tries to retransmit SYN packet, buf mbuf allocation fails.
 Client TCP stack retransmits SYN packet.
 Server replies with SYN+ACK.
 ... and according to you smth should go wrong ...
 
 But in my tests nothing goes wrong. Client successfully retransmits SYN and
 connection is established.
 
 This is how I instrument this. I have added special TCP option and set it
 before doing connect. The tcp_output() emulates failures that you
 described:
 
 Index: tcp_output.c
 ===
 --- tcp_output.c(revision 248873)
 +++ tcp_output.c(working copy)
 @@ -898,6 +898,13 @@ send:
 else
 TCPSTAT_INC(tcps_sndwinup);
  
 +   /* Fail allocating second packet. */
 +   if (tp->t_flags & TF_ZHOPA && tp->t_zhopa == 1) {
 +   tp->t_zhopa = 2;
 +   m = NULL;
 +   error = ENOBUFS;
 +   goto out;
 +   } else
 m = m_gethdr(M_NOWAIT, MT_DATA);
 if (m == NULL) {
 error = ENOBUFS;
 @@ -1273,6 +1280,13 @@ timer:
 if (V_path_mtu_discovery && tp->t_maxopd > V_tcp_minmss)
 ip->ip_off |= htons(IP_DF);
  
 +   /* Lose first packet. */
 +   if (tp->t_flags & TF_ZHOPA && tp->t_zhopa == 0) {
 +   tp->t_zhopa = 1;
 +   m_freem(m);
 +   error = 0;
 +   } else
 +
 error = ip_output(m, tp->t_inpcb->inp_options, &ro,
 ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0), 0,
 tp->t_inpcb);
 
 Am I doing something wrong? Can you provide your way to reproduce this?
 
 Do you have backtrace of the panic?
 
 -- 
 Totus tuus, Glebius.
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Barney Cordoba


--- On Thu, 3/28/13, Nick Rogers  wrote:

> From: Nick Rogers 
> Subject: Re: igb and ALTQ in 9.1-rc3
> To: "Jack Vogel" 
> Cc: "Barney Cordoba" , "Clement Hermann (nodens)" 
> , "freebsd-net@freebsd.org" 
> Date: Thursday, March 28, 2013, 9:29 PM
> On Thu, Mar 28, 2013 at 4:16 PM, Jack
> Vogel 
> wrote:
> > Have been kept fairly busy with other matters, one
> thing I could do short
> > term is
> > change the defines in igb the way I did in the em
> driver so you could still
> > define
> > the older if_start entry. Right now those are based on
> OS version and so you
> > will
> > automatically get if_transmit, but I could change it to
> be IGB_LEGACY_TX or
> > so,
> > and that could be defined in the Makefile.
> >
> > Would this help?
> 
> I'm currently using ALTQ successfully with the em driver, so
> if igb
> behaved the same with respect to using if_start instead of
> if_transmit
> when ALTQ is in play, that would be great. I do not
> completely
> understand the change you propose as I am not very familiar
> with the
> driver internals. Any kind of patch or extra
> Makefile/make.conf
> definition that would allow me to build a 9-STABLE kernel
> with an igb
> driver that works again with ALTQ, ASAP, would be much
> appreciated.
> 
> >
> > Jack
> >
> >
> >
> > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers 
> wrote:
> >>
> >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel 
> wrote:
> >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb
> Smirnoff 
> >> > wrote:
> >> >
> >> >> On Mon, Dec 10, 2012 at 03:31:19PM -0800,
> Jack Vogel wrote:
> >> >> J> UH, maybe asking the owner of the
> driver would help :)
> >> >> J>
> >> >> J> ... and no, I've never been aware of
> doing anything to stop
> >> >> supporting
> >> >> altq
> >> >> J> so you wouldn't see any commits. If
> there's something in the altq
> >> >> code
> >> >> or
> >> >> J> support (which I have nothing to do
> with) that caused this no-one
> >> >> informed
> >> >> J> me.
> >> >>
> >> >> Switching from if_start to if_transmit
> effectively disables ALTQ
> >> >> support.
> >> >>
> >> >> AFAIR, there is some magic implemented in
> other drivers that makes them
> >> >> modern (that means using if_transmit), but
> still capable to switch to
> >> >> queueing
> >> >> mode if SIOCADDALTQ was casted upon them.
> >> >>
> >> >>
> >> > Oh, hmmm, I'll look into the matter after my
> vacation.
> >> >
> >> > Jack
> >>
> >> Has there been any progress on resolving this
> issue? I recently ran
> >> into this problem upgrading my servers from 8.3 to
> 9.1-RELEASE and am
> >> wondering what the latest recommendation is. I've
> used ALTQ and igb
> >> successfully for years and it is unfortunate it no
> longer works.
> >> Appreciate any advice.
> >>

Do yourself a favor and either get a cheap dual port 82571 card or
2 cards and disable the IGB ports. The igb driver is defective, and until
they back out the new, untested multi-queue stuff you're just neutering 
your system trying to use it.

Frankly this project made a huge mistake by moving forward with multi
queue just for the sake of saying that you support it; without having
any credible plan for implementing it. That nonsense that Bill Macy did
should have been tarballed up and deposited in the trash folder. The
biggest mess in programming history.

That being said, the solution is not to hack the igb driver; its to make
ALTQ if_transmit compatible, which shouldn't be all that difficult. 

BC


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: vlan with modified MAC fails to communicate

2013-03-29 Thread Barney Cordoba


--- On Fri, 3/29/13, Pablo Ribalta Lorenzo  wrote:

> From: Pablo Ribalta Lorenzo 
> Subject: vlan with modified MAC fails to communicate
> To: freebsd-net@freebsd.org
> Date: Friday, March 29, 2013, 7:53 AM
> Hi there!
> 
> Lately I've been investigating an issue that I would like to
> share, as I feel I may have to attack it from a different
> end.
> 
> I have an ethernet interface from where I create a vlan.
> Once I set up the ip address in the vlan I can ping
> correctly on both
> sides. The issue arrives when I try to change the MAC
> address of the vlan, as from then on it fails to communicate
> unless:
> 
> - I restore vlan's MAC address to its previous value
> - I enable promisc mode.
> 
> It's also worth to mention that my current setup is FreeBSD
> 8.3 and the NIC driver I'm using is not fully mature.
> 
> I was wondering if this behavior is due to some limitations
> in the NCI driver I'm using or if in fact it's the correct
> way to
> proceed, as it was possible to reproduce this same issue in
> FreeBSD 8.3 and FreeBSD CURRENT versions, even using more
> mature
> NIC drivers as 'em' and 're'.
> 
> Could somebody please shed some light in this? Thank you.
> 

Without looking at the code, it's likely that you should be changing
the MAC address BEFORE you set up the VLAN. The mac is probably being
mapped into some table that being used to track the vlans.

BC
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: vlan with modified MAC fails to communicate

2013-03-29 Thread Pablo Ribalta Lorenzo

On 03/29/2013 01:57 PM, Barney Cordoba wrote:


--- On Fri, 3/29/13, Pablo Ribalta Lorenzo  wrote:


From: Pablo Ribalta Lorenzo 
Subject: vlan with modified MAC fails to communicate
To: freebsd-net@freebsd.org
Date: Friday, March 29, 2013, 7:53 AM
Hi there!

Lately I've been investigating an issue that I would like to
share, as I feel I may have to attack it from a different
end.

I have an ethernet interface from where I create a vlan.
Once I set up the ip address in the vlan I can ping
correctly on both
sides. The issue arrives when I try to change the MAC
address of the vlan, as from then on it fails to communicate
unless:

- I restore vlan's MAC address to its previous value
- I enable promisc mode.

It's also worth to mention that my current setup is FreeBSD
8.3 and the NIC driver I'm using is not fully mature.

I was wondering if this behavior is due to some limitations
in the NCI driver I'm using or if in fact it's the correct
way to
proceed, as it was possible to reproduce this same issue in
FreeBSD 8.3 and FreeBSD CURRENT versions, even using more
mature
NIC drivers as 'em' and 're'.

Could somebody please shed some light in this? Thank you.


Without looking at the code, it's likely that you should be changing
the MAC address BEFORE you set up the VLAN. The mac is probably being
mapped into some table that being used to track the vlans.

BC


Thanks for your answer Barney,

I'm going to extend a little bit the explanation of the issue as it may be too 
brief.

First of all, ifconfig shows me this (mge being the NIC):

mge1: flags=8843 metric 0 mtu 1500
options=8000b
ether 00:01:01:58:31:30
inet 192.168.126.9 netmask 0xff00 broadcast 192.168.126.255
media: Ethernet autoselect (1000baseT )
status: active
vlan1: flags=8843 metric 0 mtu 1500
ether 00:01:01:58:31:30
media: Ethernet autoselect (1000baseT )
status: active
vlan: 100 parent interface: mge1


Once I set up the ip for vlan1, I'm able to ping outside:

#ifconfig vlan1 inet 172.18.0.254

#ping 172.18.0.1
PING 172.18.0.1 (172.18.0.1): 56 data bytes
64 bytes from 172.18.0.1: icmp_seq=0 ttl=64 time=2.511 ms
^C
--- 172.18.0.1 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss


I change MAC address for vlan1 :
#ifconfig vlan1 ether 00:0d:01:58:51:30

mge1: flags=8843 metric 0 mtu 1500
options=8000b
ether 00:01:01:58:31:30
inet 192.168.126.9 netmask 0xff00 broadcast 192.168.126.255
media: Ethernet autoselect (1000baseT )
status: active
vlan1: flags=8843 metric 0 mtu 1500
ether 00:0d:01:58:51:30
inet 172.18.0.254 netmask 0x broadcast 172.18.255.255
media: Ethernet autoselect (1000baseT )
status: active
vlan: 100 parent interface: mge1

And here is where the problems start, as I'm not able to contact with vlan1 
from the outside unless:

- Restore the MAC address to be 00:01:01:58:31:30 again
- Set up promisc mode

As I said, since I was able to see this issue in other platforms and with more 
mature drivers than my 'mge',
I don't know if this is the expected behavior, or my NIC driver is missing 
something to be able to deal
with this situation.

However thanks for your hint, I feel I need a little bit of perspective in this 
issue.


--
Pozdrawiam,
Pablo Ribalta Lorenzo

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: vlan with modified MAC fails to communicate

2013-03-29 Thread Ryan Stone
On Fri, Mar 29, 2013 at 10:05 AM, Pablo Ribalta Lorenzo 
wrote:

> Thanks for your answer Barney,
>
> I'm going to extend a little bit the explanation of the issue as it may be
> too brief.
>
> First of all, ifconfig shows me this (mge being the NIC):
>
> mge1: flags=8843 metric 0 mtu
> 1500
> options=8000b
> ether 00:01:01:58:31:30
> inet 192.168.126.9 netmask 0xff00 broadcast 192.168.126.255
> media: Ethernet autoselect (1000baseT )
> status: active
> vlan1: flags=8843 metric 0 mtu
> 1500
> ether 00:01:01:58:31:30
> media: Ethernet autoselect (1000baseT )
> status: active
> vlan: 100 parent interface: mge1
>
>
> Once I set up the ip for vlan1, I'm able to ping outside:
>
> #ifconfig vlan1 inet 172.18.0.254
>
> #ping 172.18.0.1
> PING 172.18.0.1 (172.18.0.1): 56 data bytes
> 64 bytes from 172.18.0.1: icmp_seq=0 ttl=64 time=2.511 ms
> ^C
> --- 172.18.0.1 ping statistics ---
> 1 packets transmitted, 1 packets received, 0.0% packet loss
>
>
> I change MAC address for vlan1 :
> #ifconfig vlan1 ether 00:0d:01:58:51:30
>
> mge1: flags=8843 metric 0 mtu
> 1500
> options=8000b
> ether 00:01:01:58:31:30
> inet 192.168.126.9 netmask 0xff00 broadcast 192.168.126.255
> media: Ethernet autoselect (1000baseT )
> status: active
> vlan1: flags=8843 metric 0 mtu
> 1500
> ether 00:0d:01:58:51:30
> inet 172.18.0.254 netmask 0x broadcast 172.18.255.255
> media: Ethernet autoselect (1000baseT )
> status: active
> vlan: 100 parent interface: mge1
>
> And here is where the problems start, as I'm not able to contact with
> vlan1 from the outside unless:
>
> - Restore the MAC address to be 00:01:01:58:31:30 again
> - Set up promisc mode
>
> As I said, since I was able to see this issue in other platforms and with
> more mature drivers than my 'mge',
> I don't know if this is the expected behavior, or my NIC driver is missing
> something to be able to deal
> with this situation.
>
> However thanks for your hint, I feel I need a little bit of perspective in
> this issue.


>From a quick glance at if_vlan.c, it doesn't do anything intelligent when
you change its MAC address.  I also don't know of any ethernet driver in
FreeBSD that allows you to use multiple unicast MACs at once (I have some
patches for ixgbe, but they aren't ready for prime-time).  If you really
want to have a different MAC on your vlan interface from its parent you
will have to put the parent into promiscuous mode.
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: vlan with modified MAC fails to communicate

2013-03-29 Thread Adrian Chadd
On 29 March 2013 07:37, Ryan Stone  wrote:

> From a quick glance at if_vlan.c, it doesn't do anything intelligent when
> you change its MAC address.  I also don't know of any ethernet driver in
> FreeBSD that allows you to use multiple unicast MACs at once (I have some
> patches for ixgbe, but they aren't ready for prime-time).  If you really
> want to have a different MAC on your vlan interface from its parent you
> will have to put the parent into promiscuous mode.
>
>
The ath(4) NICs do - for multi-VAP hostap (and soon, multi-STA) support.
But the NICs have a BSS Mask register which lets the NIC pass through
packets that match a filter, rather than having to put it into promiscuous
mode.



Adrian
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


RE: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Pieper, Jeffrey E


-Original Message-
From: owner-freebsd-...@freebsd.org [mailto:owner-freebsd-...@freebsd.org] On 
Behalf Of Barney Cordoba
Sent: Friday, March 29, 2013 5:51 AM
To: Jack Vogel; Nick Rogers
Cc: freebsd-net@freebsd.org; Clement Hermann (nodens)
Subject: Re: igb and ALTQ in 9.1-rc3



--- On Thu, 3/28/13, Nick Rogers  wrote:

> From: Nick Rogers 
> Subject: Re: igb and ALTQ in 9.1-rc3
> To: "Jack Vogel" 
> Cc: "Barney Cordoba" , "Clement Hermann (nodens)" 
> , "freebsd-net@freebsd.org" 
> Date: Thursday, March 28, 2013, 9:29 PM
> On Thu, Mar 28, 2013 at 4:16 PM, Jack
> Vogel 
> wrote:
> > Have been kept fairly busy with other matters, one
> thing I could do short
> > term is
> > change the defines in igb the way I did in the em
> driver so you could still
> > define
> > the older if_start entry. Right now those are based on
> OS version and so you
> > will
> > automatically get if_transmit, but I could change it to
> be IGB_LEGACY_TX or
> > so,
> > and that could be defined in the Makefile.
> >
> > Would this help?
> 
> I'm currently using ALTQ successfully with the em driver, so
> if igb
> behaved the same with respect to using if_start instead of
> if_transmit
> when ALTQ is in play, that would be great. I do not
> completely
> understand the change you propose as I am not very familiar
> with the
> driver internals. Any kind of patch or extra
> Makefile/make.conf
> definition that would allow me to build a 9-STABLE kernel
> with an igb
> driver that works again with ALTQ, ASAP, would be much
> appreciated.
> 
> >
> > Jack
> >
> >
> >
> > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers 
> wrote:
> >>
> >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel 
> wrote:
> >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb
> Smirnoff 
> >> > wrote:
> >> >
> >> >> On Mon, Dec 10, 2012 at 03:31:19PM -0800,
> Jack Vogel wrote:
> >> >> J> UH, maybe asking the owner of the
> driver would help :)
> >> >> J>
> >> >> J> ... and no, I've never been aware of
> doing anything to stop
> >> >> supporting
> >> >> altq
> >> >> J> so you wouldn't see any commits. If
> there's something in the altq
> >> >> code
> >> >> or
> >> >> J> support (which I have nothing to do
> with) that caused this no-one
> >> >> informed
> >> >> J> me.
> >> >>
> >> >> Switching from if_start to if_transmit
> effectively disables ALTQ
> >> >> support.
> >> >>
> >> >> AFAIR, there is some magic implemented in
> other drivers that makes them
> >> >> modern (that means using if_transmit), but
> still capable to switch to
> >> >> queueing
> >> >> mode if SIOCADDALTQ was casted upon them.
> >> >>
> >> >>
> >> > Oh, hmmm, I'll look into the matter after my
> vacation.
> >> >
> >> > Jack
> >>
> >> Has there been any progress on resolving this
> issue? I recently ran
> >> into this problem upgrading my servers from 8.3 to
> 9.1-RELEASE and am
> >> wondering what the latest recommendation is. I've
> used ALTQ and igb
> >> successfully for years and it is unfortunate it no
> longer works.
> >> Appreciate any advice.
> >>
>
>Do yourself a favor and either get a cheap dual port 82571 card or
>2 cards and disable the IGB ports. The igb driver is defective, and until
>they back out the new, untested multi-queue stuff you're just neutering 
>your system trying to use it.
>
>Frankly this project made a huge mistake by moving forward with multi
>queue just for the sake of saying that you support it; without having
>any credible plan for implementing it. That nonsense that Bill Macy did
>should have been tarballed up and deposited in the trash folder. The
>biggest mess in programming history.
>
>That being said, the solution is not to hack the igb driver; its to make
>ALTQ if_transmit compatible, which shouldn't be all that difficult. 
>
>BC

I may be misunderstanding what you are saying, but if the solution is, as you 
say "not to hack the igb driver", then how is it defective in this case? Or are 
you just directing vitriol toward Intel? Multi-queue is working fine in igb. 

Jeff

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


RE: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Barney Cordoba


--- On Fri, 3/29/13, Pieper, Jeffrey E  wrote:

> From: Pieper, Jeffrey E 
> Subject: RE: igb and ALTQ in 9.1-rc3
> To: "Barney Cordoba" , "Jack Vogel" 
> , "Nick Rogers" 
> Cc: "freebsd-net@freebsd.org" , "Clement Hermann 
> (nodens)" 
> Date: Friday, March 29, 2013, 11:45 AM
> 
> 
> -Original Message-
> From: owner-freebsd-...@freebsd.org
> [mailto:owner-freebsd-...@freebsd.org]
> On Behalf Of Barney Cordoba
> Sent: Friday, March 29, 2013 5:51 AM
> To: Jack Vogel; Nick Rogers
> Cc: freebsd-net@freebsd.org;
> Clement Hermann (nodens)
> Subject: Re: igb and ALTQ in 9.1-rc3
> 
> 
> 
> --- On Thu, 3/28/13, Nick Rogers 
> wrote:
> 
> > From: Nick Rogers 
> > Subject: Re: igb and ALTQ in 9.1-rc3
> > To: "Jack Vogel" 
> > Cc: "Barney Cordoba" ,
> "Clement Hermann (nodens)" ,
> "freebsd-net@freebsd.org"
> 
> > Date: Thursday, March 28, 2013, 9:29 PM
> > On Thu, Mar 28, 2013 at 4:16 PM, Jack
> > Vogel 
> > wrote:
> > > Have been kept fairly busy with other matters,
> one
> > thing I could do short
> > > term is
> > > change the defines in igb the way I did in the em
> > driver so you could still
> > > define
> > > the older if_start entry. Right now those are
> based on
> > OS version and so you
> > > will
> > > automatically get if_transmit, but I could change
> it to
> > be IGB_LEGACY_TX or
> > > so,
> > > and that could be defined in the Makefile.
> > >
> > > Would this help?
> > 
> > I'm currently using ALTQ successfully with the em
> driver, so
> > if igb
> > behaved the same with respect to using if_start instead
> of
> > if_transmit
> > when ALTQ is in play, that would be great. I do not
> > completely
> > understand the change you propose as I am not very
> familiar
> > with the
> > driver internals. Any kind of patch or extra
> > Makefile/make.conf
> > definition that would allow me to build a 9-STABLE
> kernel
> > with an igb
> > driver that works again with ALTQ, ASAP, would be much
> > appreciated.
> > 
> > >
> > > Jack
> > >
> > >
> > >
> > > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers
> 
> > wrote:
> > >>
> > >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel
> 
> > wrote:
> > >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb
> > Smirnoff 
> > >> > wrote:
> > >> >
> > >> >> On Mon, Dec 10, 2012 at 03:31:19PM
> -0800,
> > Jack Vogel wrote:
> > >> >> J> UH, maybe asking the owner of
> the
> > driver would help :)
> > >> >> J>
> > >> >> J> ... and no, I've never been
> aware of
> > doing anything to stop
> > >> >> supporting
> > >> >> altq
> > >> >> J> so you wouldn't see any
> commits. If
> > there's something in the altq
> > >> >> code
> > >> >> or
> > >> >> J> support (which I have nothing
> to do
> > with) that caused this no-one
> > >> >> informed
> > >> >> J> me.
> > >> >>
> > >> >> Switching from if_start to
> if_transmit
> > effectively disables ALTQ
> > >> >> support.
> > >> >>
> > >> >> AFAIR, there is some magic
> implemented in
> > other drivers that makes them
> > >> >> modern (that means using
> if_transmit), but
> > still capable to switch to
> > >> >> queueing
> > >> >> mode if SIOCADDALTQ was casted upon
> them.
> > >> >>
> > >> >>
> > >> > Oh, hmmm, I'll look into the matter after
> my
> > vacation.
> > >> >
> > >> > Jack
> > >>
> > >> Has there been any progress on resolving this
> > issue? I recently ran
> > >> into this problem upgrading my servers from
> 8.3 to
> > 9.1-RELEASE and am
> > >> wondering what the latest recommendation is.
> I've
> > used ALTQ and igb
> > >> successfully for years and it is unfortunate
> it no
> > longer works.
> > >> Appreciate any advice.
> > >>
> >
> >Do yourself a favor and either get a cheap dual port
> 82571 card or
> >2 cards and disable the IGB ports. The igb driver is
> defective, and until
> >they back out the new, untested multi-queue stuff you're
> just neutering 
> >your system trying to use it.
> >
> >Frankly this project made a huge mistake by moving
> forward with multi
> >queue just for the sake of saying that you support it;
> without having
> >any credible plan for implementing it. That nonsense
> that Bill Macy did
> >should have been tarballed up and deposited in the trash
> folder. The
> >biggest mess in programming history.
> >
> >That being said, the solution is not to hack the igb
> driver; its to make
> >ALTQ if_transmit compatible, which shouldn't be all that
> difficult. 
> >
> >BC
> 
> I may be misunderstanding what you are saying, but if the
> solution is, as you say "not to hack the igb driver", then
> how is it defective in this case? Or are you just directing
> vitriol toward Intel? Multi-queue is working fine in igb. 
> 
> Jeff

It's defective because it's been poorly implemented and has more bugs 
than a Manhattan hotel bed. Adding queues without a proper plan just add
more lock contention. It's not a production-ready driver.

As Jack once said, Intel doesn't care about performance, they're just
example drivers. igb is an example of how not to do things.

BC
___
freebsd-net

Re: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Adrian Chadd
Barney,

Patches gratefully accepted.




Adrian



On 29 March 2013 08:54, Barney Cordoba  wrote:

>
>
> --- On Fri, 3/29/13, Pieper, Jeffrey E  wrote:
>
> > From: Pieper, Jeffrey E 
> > Subject: RE: igb and ALTQ in 9.1-rc3
> > To: "Barney Cordoba" , "Jack Vogel" <
> jfvo...@gmail.com>, "Nick Rogers" 
> > Cc: "freebsd-net@freebsd.org" , "Clement
> Hermann (nodens)" 
> > Date: Friday, March 29, 2013, 11:45 AM
> >
> >
> > -Original Message-
> > From: owner-freebsd-...@freebsd.org
> > [mailto:owner-freebsd-...@freebsd.org]
> > On Behalf Of Barney Cordoba
> > Sent: Friday, March 29, 2013 5:51 AM
> > To: Jack Vogel; Nick Rogers
> > Cc: freebsd-net@freebsd.org;
> > Clement Hermann (nodens)
> > Subject: Re: igb and ALTQ in 9.1-rc3
> >
> >
> >
> > --- On Thu, 3/28/13, Nick Rogers 
> > wrote:
> >
> > > From: Nick Rogers 
> > > Subject: Re: igb and ALTQ in 9.1-rc3
> > > To: "Jack Vogel" 
> > > Cc: "Barney Cordoba" ,
> > "Clement Hermann (nodens)" ,
> > "freebsd-net@freebsd.org"
> > 
> > > Date: Thursday, March 28, 2013, 9:29 PM
> > > On Thu, Mar 28, 2013 at 4:16 PM, Jack
> > > Vogel 
> > > wrote:
> > > > Have been kept fairly busy with other matters,
> > one
> > > thing I could do short
> > > > term is
> > > > change the defines in igb the way I did in the em
> > > driver so you could still
> > > > define
> > > > the older if_start entry. Right now those are
> > based on
> > > OS version and so you
> > > > will
> > > > automatically get if_transmit, but I could change
> > it to
> > > be IGB_LEGACY_TX or
> > > > so,
> > > > and that could be defined in the Makefile.
> > > >
> > > > Would this help?
> > >
> > > I'm currently using ALTQ successfully with the em
> > driver, so
> > > if igb
> > > behaved the same with respect to using if_start instead
> > of
> > > if_transmit
> > > when ALTQ is in play, that would be great. I do not
> > > completely
> > > understand the change you propose as I am not very
> > familiar
> > > with the
> > > driver internals. Any kind of patch or extra
> > > Makefile/make.conf
> > > definition that would allow me to build a 9-STABLE
> > kernel
> > > with an igb
> > > driver that works again with ALTQ, ASAP, would be much
> > > appreciated.
> > >
> > > >
> > > > Jack
> > > >
> > > >
> > > >
> > > > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers
> > 
> > > wrote:
> > > >>
> > > >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel
> > 
> > > wrote:
> > > >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb
> > > Smirnoff 
> > > >> > wrote:
> > > >> >
> > > >> >> On Mon, Dec 10, 2012 at 03:31:19PM
> > -0800,
> > > Jack Vogel wrote:
> > > >> >> J> UH, maybe asking the owner of
> > the
> > > driver would help :)
> > > >> >> J>
> > > >> >> J> ... and no, I've never been
> > aware of
> > > doing anything to stop
> > > >> >> supporting
> > > >> >> altq
> > > >> >> J> so you wouldn't see any
> > commits. If
> > > there's something in the altq
> > > >> >> code
> > > >> >> or
> > > >> >> J> support (which I have nothing
> > to do
> > > with) that caused this no-one
> > > >> >> informed
> > > >> >> J> me.
> > > >> >>
> > > >> >> Switching from if_start to
> > if_transmit
> > > effectively disables ALTQ
> > > >> >> support.
> > > >> >>
> > > >> >> AFAIR, there is some magic
> > implemented in
> > > other drivers that makes them
> > > >> >> modern (that means using
> > if_transmit), but
> > > still capable to switch to
> > > >> >> queueing
> > > >> >> mode if SIOCADDALTQ was casted upon
> > them.
> > > >> >>
> > > >> >>
> > > >> > Oh, hmmm, I'll look into the matter after
> > my
> > > vacation.
> > > >> >
> > > >> > Jack
> > > >>
> > > >> Has there been any progress on resolving this
> > > issue? I recently ran
> > > >> into this problem upgrading my servers from
> > 8.3 to
> > > 9.1-RELEASE and am
> > > >> wondering what the latest recommendation is.
> > I've
> > > used ALTQ and igb
> > > >> successfully for years and it is unfortunate
> > it no
> > > longer works.
> > > >> Appreciate any advice.
> > > >>
> > >
> > >Do yourself a favor and either get a cheap dual port
> > 82571 card or
> > >2 cards and disable the IGB ports. The igb driver is
> > defective, and until
> > >they back out the new, untested multi-queue stuff you're
> > just neutering
> > >your system trying to use it.
> > >
> > >Frankly this project made a huge mistake by moving
> > forward with multi
> > >queue just for the sake of saying that you support it;
> > without having
> > >any credible plan for implementing it. That nonsense
> > that Bill Macy did
> > >should have been tarballed up and deposited in the trash
> > folder. The
> > >biggest mess in programming history.
> > >
> > >That being said, the solution is not to hack the igb
> > driver; its to make
> > >ALTQ if_transmit compatible, which shouldn't be all that
> > difficult.
> > >
> > >BC
> >
> > I may be misunderstanding what you are saying, but if the
> > solution is, as you say "not to hack the igb driver", then
> > how is it defective in this case? Or are you just directing
> > vitr

RE: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Barney Cordoba


--- On Fri, 3/29/13, Pieper, Jeffrey E  wrote:

> From: Pieper, Jeffrey E 
> Subject: RE: igb and ALTQ in 9.1-rc3
> To: "Barney Cordoba" , "Jack Vogel" 
> , "Nick Rogers" 
> Cc: "freebsd-net@freebsd.org" , "Clement Hermann 
> (nodens)" 
> Date: Friday, March 29, 2013, 11:45 AM
> 
> 
> -Original Message-
> From: owner-freebsd-...@freebsd.org
> [mailto:owner-freebsd-...@freebsd.org]
> On Behalf Of Barney Cordoba
> Sent: Friday, March 29, 2013 5:51 AM
> To: Jack Vogel; Nick Rogers
> Cc: freebsd-net@freebsd.org;
> Clement Hermann (nodens)
> Subject: Re: igb and ALTQ in 9.1-rc3
> 
> 
> 
> --- On Thu, 3/28/13, Nick Rogers 
> wrote:
> 
> > From: Nick Rogers 
> > Subject: Re: igb and ALTQ in 9.1-rc3
> > To: "Jack Vogel" 
> > Cc: "Barney Cordoba" ,
> "Clement Hermann (nodens)" ,
> "freebsd-net@freebsd.org"
> 
> > Date: Thursday, March 28, 2013, 9:29 PM
> > On Thu, Mar 28, 2013 at 4:16 PM, Jack
> > Vogel 
> > wrote:
> > > Have been kept fairly busy with other matters,
> one
> > thing I could do short
> > > term is
> > > change the defines in igb the way I did in the em
> > driver so you could still
> > > define
> > > the older if_start entry. Right now those are
> based on
> > OS version and so you
> > > will
> > > automatically get if_transmit, but I could change
> it to
> > be IGB_LEGACY_TX or
> > > so,
> > > and that could be defined in the Makefile.
> > >
> > > Would this help?
> > 
> > I'm currently using ALTQ successfully with the em
> driver, so
> > if igb
> > behaved the same with respect to using if_start instead
> of
> > if_transmit
> > when ALTQ is in play, that would be great. I do not
> > completely
> > understand the change you propose as I am not very
> familiar
> > with the
> > driver internals. Any kind of patch or extra
> > Makefile/make.conf
> > definition that would allow me to build a 9-STABLE
> kernel
> > with an igb
> > driver that works again with ALTQ, ASAP, would be much
> > appreciated.
> > 
> > >
> > > Jack
> > >
> > >
> > >
> > > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers
> 
> > wrote:
> > >>
> > >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel
> 
> > wrote:
> > >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb
> > Smirnoff 
> > >> > wrote:
> > >> >
> > >> >> On Mon, Dec 10, 2012 at 03:31:19PM
> -0800,
> > Jack Vogel wrote:
> > >> >> J> UH, maybe asking the owner of
> the
> > driver would help :)
> > >> >> J>
> > >> >> J> ... and no, I've never been
> aware of
> > doing anything to stop
> > >> >> supporting
> > >> >> altq
> > >> >> J> so you wouldn't see any
> commits. If
> > there's something in the altq
> > >> >> code
> > >> >> or
> > >> >> J> support (which I have nothing
> to do
> > with) that caused this no-one
> > >> >> informed
> > >> >> J> me.
> > >> >>
> > >> >> Switching from if_start to
> if_transmit
> > effectively disables ALTQ
> > >> >> support.
> > >> >>
> > >> >> AFAIR, there is some magic
> implemented in
> > other drivers that makes them
> > >> >> modern (that means using
> if_transmit), but
> > still capable to switch to
> > >> >> queueing
> > >> >> mode if SIOCADDALTQ was casted upon
> them.
> > >> >>
> > >> >>
> > >> > Oh, hmmm, I'll look into the matter after
> my
> > vacation.
> > >> >
> > >> > Jack
> > >>
> > >> Has there been any progress on resolving this
> > issue? I recently ran
> > >> into this problem upgrading my servers from
> 8.3 to
> > 9.1-RELEASE and am
> > >> wondering what the latest recommendation is.
> I've
> > used ALTQ and igb
> > >> successfully for years and it is unfortunate
> it no
> > longer works.
> > >> Appreciate any advice.
> > >>
> >
> >Do yourself a favor and either get a cheap dual port
> 82571 card or
> >2 cards and disable the IGB ports. The igb driver is
> defective, and until
> >they back out the new, untested multi-queue stuff you're
> just neutering 
> >your system trying to use it.
> >
> >Frankly this project made a huge mistake by moving
> forward with multi
> >queue just for the sake of saying that you support it;
> without having
> >any credible plan for implementing it. That nonsense
> that Bill Macy did
> >should have been tarballed up and deposited in the trash
> folder. The
> >biggest mess in programming history.
> >
> >That being said, the solution is not to hack the igb
> driver; its to make
> >ALTQ if_transmit compatible, which shouldn't be all that
> difficult. 
> >
> >BC
> 
> I may be misunderstanding what you are saying, but if the
> solution is, as you say "not to hack the igb driver", then
> how is it defective in this case? Or are you just directing
> vitriol toward Intel? Multi-queue is working fine in igb. 
> 
> Jeff

It works like crap. Your definition of "works" is that it doesnt crash.
Mine is that it works better with multiple queues than with 1, which
it doesn't. And if you load a system up, it will blow up with  multiqueue
before it will with 1 queue. The point of using Multiqueue isn't to 
exhaust all of the cpus instead of just 2. It's to get past the wall of
using only 2 cpus when they're exhausted

Re: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Jack Vogel
Fortunately, Barney doesn't speak for me, or for Intel, and I've long ago
realized its pointless to
attempt anything like a fair conversation with him. The only thing he's
ever contributed is slander
and pseudo-critique... another poison thread I'm done with.

Jack



On Fri, Mar 29, 2013 at 8:45 AM, Pieper, Jeffrey E <
jeffrey.e.pie...@intel.com> wrote:

>
>
> -Original Message-
> From: owner-freebsd-...@freebsd.org [mailto:owner-freebsd-...@freebsd.org]
> On Behalf Of Barney Cordoba
> Sent: Friday, March 29, 2013 5:51 AM
> To: Jack Vogel; Nick Rogers
> Cc: freebsd-net@freebsd.org; Clement Hermann (nodens)
> Subject: Re: igb and ALTQ in 9.1-rc3
>
>
>
> --- On Thu, 3/28/13, Nick Rogers  wrote:
>
> > From: Nick Rogers 
> > Subject: Re: igb and ALTQ in 9.1-rc3
> > To: "Jack Vogel" 
> > Cc: "Barney Cordoba" , "Clement Hermann
> (nodens)" , "freebsd-net@freebsd.org" <
> freebsd-net@freebsd.org>
> > Date: Thursday, March 28, 2013, 9:29 PM
> > On Thu, Mar 28, 2013 at 4:16 PM, Jack
> > Vogel 
> > wrote:
> > > Have been kept fairly busy with other matters, one
> > thing I could do short
> > > term is
> > > change the defines in igb the way I did in the em
> > driver so you could still
> > > define
> > > the older if_start entry. Right now those are based on
> > OS version and so you
> > > will
> > > automatically get if_transmit, but I could change it to
> > be IGB_LEGACY_TX or
> > > so,
> > > and that could be defined in the Makefile.
> > >
> > > Would this help?
> >
> > I'm currently using ALTQ successfully with the em driver, so
> > if igb
> > behaved the same with respect to using if_start instead of
> > if_transmit
> > when ALTQ is in play, that would be great. I do not
> > completely
> > understand the change you propose as I am not very familiar
> > with the
> > driver internals. Any kind of patch or extra
> > Makefile/make.conf
> > definition that would allow me to build a 9-STABLE kernel
> > with an igb
> > driver that works again with ALTQ, ASAP, would be much
> > appreciated.
> >
> > >
> > > Jack
> > >
> > >
> > >
> > > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers 
> > wrote:
> > >>
> > >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel 
> > wrote:
> > >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb
> > Smirnoff 
> > >> > wrote:
> > >> >
> > >> >> On Mon, Dec 10, 2012 at 03:31:19PM -0800,
> > Jack Vogel wrote:
> > >> >> J> UH, maybe asking the owner of the
> > driver would help :)
> > >> >> J>
> > >> >> J> ... and no, I've never been aware of
> > doing anything to stop
> > >> >> supporting
> > >> >> altq
> > >> >> J> so you wouldn't see any commits. If
> > there's something in the altq
> > >> >> code
> > >> >> or
> > >> >> J> support (which I have nothing to do
> > with) that caused this no-one
> > >> >> informed
> > >> >> J> me.
> > >> >>
> > >> >> Switching from if_start to if_transmit
> > effectively disables ALTQ
> > >> >> support.
> > >> >>
> > >> >> AFAIR, there is some magic implemented in
> > other drivers that makes them
> > >> >> modern (that means using if_transmit), but
> > still capable to switch to
> > >> >> queueing
> > >> >> mode if SIOCADDALTQ was casted upon them.
> > >> >>
> > >> >>
> > >> > Oh, hmmm, I'll look into the matter after my
> > vacation.
> > >> >
> > >> > Jack
> > >>
> > >> Has there been any progress on resolving this
> > issue? I recently ran
> > >> into this problem upgrading my servers from 8.3 to
> > 9.1-RELEASE and am
> > >> wondering what the latest recommendation is. I've
> > used ALTQ and igb
> > >> successfully for years and it is unfortunate it no
> > longer works.
> > >> Appreciate any advice.
> > >>
> >
> >Do yourself a favor and either get a cheap dual port 82571 card or
> >2 cards and disable the IGB ports. The igb driver is defective, and until
> >they back out the new, untested multi-queue stuff you're just neutering
> >your system trying to use it.
> >
> >Frankly this project made a huge mistake by moving forward with multi
> >queue just for the sake of saying that you support it; without having
> >any credible plan for implementing it. That nonsense that Bill Macy did
> >should have been tarballed up and deposited in the trash folder. The
> >biggest mess in programming history.
> >
> >That being said, the solution is not to hack the igb driver; its to make
> >ALTQ if_transmit compatible, which shouldn't be all that difficult.
> >
> >BC
>
> I may be misunderstanding what you are saying, but if the solution is, as
> you say "not to hack the igb driver", then how is it defective in this
> case? Or are you just directing vitriol toward Intel? Multi-queue is
> working fine in igb.
>
> Jeff
>
> ___
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
> ___
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubs

Re: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Barney Cordoba
it needs a lot more than a patch. It needs to be completely re-thunk

--- On Fri, 3/29/13, Adrian Chadd  wrote:

From: Adrian Chadd 
Subject: Re: igb and ALTQ in 9.1-rc3
To: "Barney Cordoba" 
Cc: "Jack Vogel" , "Nick Rogers" , 
"Jeffrey EPieper" , "freebsd-net@freebsd.org" 
, "Clement Hermann (nodens)" 
Date: Friday, March 29, 2013, 12:07 PM

Barney,
Patches gratefully accepted.



Adrian



On 29 March 2013 08:54, Barney Cordoba  wrote:





--- On Fri, 3/29/13, Pieper, Jeffrey E  wrote:



> From: Pieper, Jeffrey E 

> Subject: RE: igb and ALTQ in 9.1-rc3

> To: "Barney Cordoba" , "Jack Vogel" 
> , "Nick Rogers" 


> Cc: "freebsd-net@freebsd.org" , "Clement Hermann 
> (nodens)" 


> Date: Friday, March 29, 2013, 11:45 AM

>

>

> -Original Message-

> From: owner-freebsd-...@freebsd.org

> [mailto:owner-freebsd-...@freebsd.org]

> On Behalf Of Barney Cordoba

> Sent: Friday, March 29, 2013 5:51 AM

> To: Jack Vogel; Nick Rogers

> Cc: freebsd-net@freebsd.org;

> Clement Hermann (nodens)

> Subject: Re: igb and ALTQ in 9.1-rc3

>

>

>

> --- On Thu, 3/28/13, Nick Rogers 

> wrote:

>

> > From: Nick Rogers 

> > Subject: Re: igb and ALTQ in 9.1-rc3

> > To: "Jack Vogel" 

> > Cc: "Barney Cordoba" ,

> "Clement Hermann (nodens)" ,

> "freebsd-net@freebsd.org"

> 

> > Date: Thursday, March 28, 2013, 9:29 PM

> > On Thu, Mar 28, 2013 at 4:16 PM, Jack

> > Vogel 

> > wrote:

> > > Have been kept fairly busy with other matters,

> one

> > thing I could do short

> > > term is

> > > change the defines in igb the way I did in the em

> > driver so you could still

> > > define

> > > the older if_start entry. Right now those are

> based on

> > OS version and so you

> > > will

> > > automatically get if_transmit, but I could change

> it to

> > be IGB_LEGACY_TX or

> > > so,

> > > and that could be defined in the Makefile.

> > >

> > > Would this help?

> >

> > I'm currently using ALTQ successfully with the em

> driver, so

> > if igb

> > behaved the same with respect to using if_start instead

> of

> > if_transmit

> > when ALTQ is in play, that would be great. I do not

> > completely

> > understand the change you propose as I am not very

> familiar

> > with the

> > driver internals. Any kind of patch or extra

> > Makefile/make.conf

> > definition that would allow me to build a 9-STABLE

> kernel

> > with an igb

> > driver that works again with ALTQ, ASAP, would be much

> > appreciated.

> >

> > >

> > > Jack

> > >

> > >

> > >

> > > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers

> 

> > wrote:

> > >>

> > >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel

> 

> > wrote:

> > >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb

> > Smirnoff 

> > >> > wrote:

> > >> >

> > >> >> On Mon, Dec 10, 2012 at 03:31:19PM

> -0800,

> > Jack Vogel wrote:

> > >> >> J> UH, maybe asking the owner of

> the

> > driver would help :)

> > >> >> J>

> > >> >> J> ... and no, I've never been

> aware of

> > doing anything to stop

> > >> >> supporting

> > >> >> altq

> > >> >> J> so you wouldn't see any

> commits. If

> > there's something in the altq

> > >> >> code

> > >> >> or

> > >> >> J> support (which I have nothing

> to do

> > with) that caused this no-one

> > >> >> informed

> > >> >> J> me.

> > >> >>

> > >> >> Switching from if_start to

> if_transmit

> > effectively disables ALTQ

> > >> >> support.

> > >> >>

> > >> >> AFAIR, there is some magic

> implemented in

> > other drivers that makes them

> > >> >> modern (that means using

> if_transmit), but

> > still capable to switch to

> > >> >> queueing

> > >> >> mode if SIOCADDALTQ was casted upon

> them.

> > >> >>

> > >> >>

> > >> > Oh, hmmm, I'll look into the matter after

> my

> > vacation.

> > >> >

> > >> > Jack

> > >>

> > >> Has there been any progress on resolving this

> > issue? I recently ran

> > >> into this problem upgrading my servers from

> 8.3 to

> > 9.1-RELEASE and am

> > >> wondering what the latest recommendation is.

> I've

> > used ALTQ and igb

> > >> successfully for years and it is unfortunate

> it no

> > longer works.

> > >> Appreciate any advice.

> > >>

> >

> >Do yourself a favor and either get a cheap dual port

> 82571 card or

> >2 cards and disable the IGB ports. The igb driver is

> defective, and until

> >they back out the new, untested multi-queue stuff you're

> just neutering

> >your system trying to use it.

> >

> >Frankly this project made a huge mistake by moving

> forward with multi

> >queue just for the sake of saying that you support it;

> without having

> >any credible plan for implementing it. That nonsense

> that Bill Macy did

> >should have been tarballed up and deposited in the trash

> folder. The

> >biggest mess in programming history.

> >

> >That being said, the solution is not to hack the igb

> driver; its to make

> >ALTQ if_transmit compatible, which shouldn't be all that

> difficult.

> >

> >BC

>

> I may be misunderstanding what you are s

Re: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Scott Long
Comedy gold.  It's been a while since I've seen this much idiocy from you, 
Barney.  Hopefully the rest of the mailing list will blackhole you, as I'm 
about to, and we can all get back to real work.

Scott



On Mar 29, 2013, at 10:38 AM, Barney Cordoba  wrote:

> it needs a lot more than a patch. It needs to be completely re-thunk
> 
> --- On Fri, 3/29/13, Adrian Chadd  wrote:
> 
> From: Adrian Chadd 
> Subject: Re: igb and ALTQ in 9.1-rc3
> To: "Barney Cordoba" 
> Cc: "Jack Vogel" , "Nick Rogers" , 
> "Jeffrey EPieper" , "freebsd-net@freebsd.org" 
> , "Clement Hermann (nodens)" 
> Date: Friday, March 29, 2013, 12:07 PM
> 
> Barney,
> Patches gratefully accepted.
> 
> 
> 
> Adrian
> 
> 
> 
> On 29 March 2013 08:54, Barney Cordoba  wrote:
> 
> 
> 
> 
> 
> --- On Fri, 3/29/13, Pieper, Jeffrey E  wrote:
> 
> 
> 
>> From: Pieper, Jeffrey E 
> 
>> Subject: RE: igb and ALTQ in 9.1-rc3
> 
>> To: "Barney Cordoba" , "Jack Vogel" 
>> , "Nick Rogers" 
> 
> 
>> Cc: "freebsd-net@freebsd.org" , "Clement Hermann 
>> (nodens)" 
> 
> 
>> Date: Friday, March 29, 2013, 11:45 AM
> 
>> 
> 
>> 
> 
>> -Original Message-
> 
>> From: owner-freebsd-...@freebsd.org
> 
>> [mailto:owner-freebsd-...@freebsd.org]
> 
>> On Behalf Of Barney Cordoba
> 
>> Sent: Friday, March 29, 2013 5:51 AM
> 
>> To: Jack Vogel; Nick Rogers
> 
>> Cc: freebsd-net@freebsd.org;
> 
>> Clement Hermann (nodens)
> 
>> Subject: Re: igb and ALTQ in 9.1-rc3
> 
>> 
> 
>> 
> 
>> 
> 
>> --- On Thu, 3/28/13, Nick Rogers 
> 
>> wrote:
> 
>> 
> 
>>> From: Nick Rogers 
> 
>>> Subject: Re: igb and ALTQ in 9.1-rc3
> 
>>> To: "Jack Vogel" 
> 
>>> Cc: "Barney Cordoba" ,
> 
>> "Clement Hermann (nodens)" ,
> 
>> "freebsd-net@freebsd.org"
> 
>> 
> 
>>> Date: Thursday, March 28, 2013, 9:29 PM
> 
>>> On Thu, Mar 28, 2013 at 4:16 PM, Jack
> 
>>> Vogel 
> 
>>> wrote:
> 
 Have been kept fairly busy with other matters,
> 
>> one
> 
>>> thing I could do short
> 
 term is
> 
 change the defines in igb the way I did in the em
> 
>>> driver so you could still
> 
 define
> 
 the older if_start entry. Right now those are
> 
>> based on
> 
>>> OS version and so you
> 
 will
> 
 automatically get if_transmit, but I could change
> 
>> it to
> 
>>> be IGB_LEGACY_TX or
> 
 so,
> 
 and that could be defined in the Makefile.
> 
 
> 
 Would this help?
> 
>>> 
> 
>>> I'm currently using ALTQ successfully with the em
> 
>> driver, so
> 
>>> if igb
> 
>>> behaved the same with respect to using if_start instead
> 
>> of
> 
>>> if_transmit
> 
>>> when ALTQ is in play, that would be great. I do not
> 
>>> completely
> 
>>> understand the change you propose as I am not very
> 
>> familiar
> 
>>> with the
> 
>>> driver internals. Any kind of patch or extra
> 
>>> Makefile/make.conf
> 
>>> definition that would allow me to build a 9-STABLE
> 
>> kernel
> 
>>> with an igb
> 
>>> driver that works again with ALTQ, ASAP, would be much
> 
>>> appreciated.
> 
>>> 
> 
 
> 
 Jack
> 
 
> 
 
> 
 
> 
 On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers
> 
>> 
> 
>>> wrote:
> 
> 
> 
> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel
> 
>> 
> 
>>> wrote:
> 
>> On Mon, Dec 10, 2012 at 11:58 PM, Gleb
> 
>>> Smirnoff 
> 
>> wrote:
> 
>> 
> 
>>> On Mon, Dec 10, 2012 at 03:31:19PM
> 
>> -0800,
> 
>>> Jack Vogel wrote:
> 
>>> J> UH, maybe asking the owner of
> 
>> the
> 
>>> driver would help :)
> 
>>> J>
> 
>>> J> ... and no, I've never been
> 
>> aware of
> 
>>> doing anything to stop
> 
>>> supporting
> 
>>> altq
> 
>>> J> so you wouldn't see any
> 
>> commits. If
> 
>>> there's something in the altq
> 
>>> code
> 
>>> or
> 
>>> J> support (which I have nothing
> 
>> to do
> 
>>> with) that caused this no-one
> 
>>> informed
> 
>>> J> me.
> 
>>> 
> 
>>> Switching from if_start to
> 
>> if_transmit
> 
>>> effectively disables ALTQ
> 
>>> support.
> 
>>> 
> 
>>> AFAIR, there is some magic
> 
>> implemented in
> 
>>> other drivers that makes them
> 
>>> modern (that means using
> 
>> if_transmit), but
> 
>>> still capable to switch to
> 
>>> queueing
> 
>>> mode if SIOCADDALTQ was casted upon
> 
>> them.
> 
>>> 
> 
>>> 
> 
>> Oh, hmmm, I'll look into the matter after
> 
>> my
> 
>>> vacation.
> 
>> 
> 
>> Jack
> 
> 
> 
> Has there been any progress on resolving this
> 
>>> issue? I recently ran
> 
> into this problem upgrading my servers from
> 
>> 8.3 to
> 
>>> 9.1-RELEASE and am
> 
> wondering what the latest recommendation is.
> 
>> I've
> 
>>> used ALTQ and igb
> 
> successfully for years and it is unfortunate
> 
>> it no
> 
>>> longer works.
> 
> Appreciate any advice.
> 
> 
> 
>>> 
> 
>>> Do yourself a favor and either get a cheap dual port
> 
>> 82571 card or
> 
>>> 2 cards and disable the IGB ports. The igb driver is
> 
>> defective, and until
> 
>>> they back out the new, untested multi-queue stuff you're

Re: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Nick Rogers
On Fri, Mar 29, 2013 at 9:36 AM, Jack Vogel  wrote:
> Fortunately, Barney doesn't speak for me, or for Intel, and I've long ago
> realized its pointless to
> attempt anything like a fair conversation with him. The only thing he's ever
> contributed is slander
> and pseudo-critique... another poison thread I'm done with.
>
> Jack

Multiqueue or not, I would appreciate any help with this thread's
original issue. Whether or not its the ideal thing to do, I cannot
simply just replace the NICs with an em(4) variant, as I have hundreds
of customers/systems already in production running 8.3 and relying on
the igb driver + ALTQ. I need to be able to upgrade these systems to
9.1 without making hardware changes.

>
>
>
> On Fri, Mar 29, 2013 at 8:45 AM, Pieper, Jeffrey E
>  wrote:
>>
>>
>>
>> -Original Message-
>> From: owner-freebsd-...@freebsd.org [mailto:owner-freebsd-...@freebsd.org]
>> On Behalf Of Barney Cordoba
>> Sent: Friday, March 29, 2013 5:51 AM
>> To: Jack Vogel; Nick Rogers
>> Cc: freebsd-net@freebsd.org; Clement Hermann (nodens)
>> Subject: Re: igb and ALTQ in 9.1-rc3
>>
>>
>>
>> --- On Thu, 3/28/13, Nick Rogers  wrote:
>>
>> > From: Nick Rogers 
>> > Subject: Re: igb and ALTQ in 9.1-rc3
>> > To: "Jack Vogel" 
>> > Cc: "Barney Cordoba" , "Clement Hermann
>> > (nodens)" , "freebsd-net@freebsd.org"
>> > 
>> > Date: Thursday, March 28, 2013, 9:29 PM
>> > On Thu, Mar 28, 2013 at 4:16 PM, Jack
>> > Vogel 
>> > wrote:
>> > > Have been kept fairly busy with other matters, one
>> > thing I could do short
>> > > term is
>> > > change the defines in igb the way I did in the em
>> > driver so you could still
>> > > define
>> > > the older if_start entry. Right now those are based on
>> > OS version and so you
>> > > will
>> > > automatically get if_transmit, but I could change it to
>> > be IGB_LEGACY_TX or
>> > > so,
>> > > and that could be defined in the Makefile.
>> > >
>> > > Would this help?
>> >
>> > I'm currently using ALTQ successfully with the em driver, so
>> > if igb
>> > behaved the same with respect to using if_start instead of
>> > if_transmit
>> > when ALTQ is in play, that would be great. I do not
>> > completely
>> > understand the change you propose as I am not very familiar
>> > with the
>> > driver internals. Any kind of patch or extra
>> > Makefile/make.conf
>> > definition that would allow me to build a 9-STABLE kernel
>> > with an igb
>> > driver that works again with ALTQ, ASAP, would be much
>> > appreciated.
>> >
>> > >
>> > > Jack
>> > >
>> > >
>> > >
>> > > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers 
>> > wrote:
>> > >>
>> > >> On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel 
>> > wrote:
>> > >> > On Mon, Dec 10, 2012 at 11:58 PM, Gleb
>> > Smirnoff 
>> > >> > wrote:
>> > >> >
>> > >> >> On Mon, Dec 10, 2012 at 03:31:19PM -0800,
>> > Jack Vogel wrote:
>> > >> >> J> UH, maybe asking the owner of the
>> > driver would help :)
>> > >> >> J>
>> > >> >> J> ... and no, I've never been aware of
>> > doing anything to stop
>> > >> >> supporting
>> > >> >> altq
>> > >> >> J> so you wouldn't see any commits. If
>> > there's something in the altq
>> > >> >> code
>> > >> >> or
>> > >> >> J> support (which I have nothing to do
>> > with) that caused this no-one
>> > >> >> informed
>> > >> >> J> me.
>> > >> >>
>> > >> >> Switching from if_start to if_transmit
>> > effectively disables ALTQ
>> > >> >> support.
>> > >> >>
>> > >> >> AFAIR, there is some magic implemented in
>> > other drivers that makes them
>> > >> >> modern (that means using if_transmit), but
>> > still capable to switch to
>> > >> >> queueing
>> > >> >> mode if SIOCADDALTQ was casted upon them.
>> > >> >>
>> > >> >>
>> > >> > Oh, hmmm, I'll look into the matter after my
>> > vacation.
>> > >> >
>> > >> > Jack
>> > >>
>> > >> Has there been any progress on resolving this
>> > issue? I recently ran
>> > >> into this problem upgrading my servers from 8.3 to
>> > 9.1-RELEASE and am
>> > >> wondering what the latest recommendation is. I've
>> > used ALTQ and igb
>> > >> successfully for years and it is unfortunate it no
>> > longer works.
>> > >> Appreciate any advice.
>> > >>
>> >
>> >Do yourself a favor and either get a cheap dual port 82571 card or
>> >2 cards and disable the IGB ports. The igb driver is defective, and until
>> >they back out the new, untested multi-queue stuff you're just neutering
>> >your system trying to use it.
>> >
>> >Frankly this project made a huge mistake by moving forward with multi
>> >queue just for the sake of saying that you support it; without having
>> >any credible plan for implementing it. That nonsense that Bill Macy did
>> >should have been tarballed up and deposited in the trash folder. The
>> >biggest mess in programming history.
>> >
>> >That being said, the solution is not to hack the igb driver; its to make
>> >ALTQ if_transmit compatible, which shouldn't be all that difficult.
>> >
>> >BC
>>
>> I may be misunderstanding what you are saying, but if the solution is, as
>> you say "not

Re: igb and ALTQ in 9.1-rc3

2013-03-29 Thread Adrian Chadd
On 29 March 2013 10:04, Nick Rogers  wrote:


> Multiqueue or not, I would appreciate any help with this thread's
> original issue. Whether or not its the ideal thing to do, I cannot
> simply just replace the NICs with an em(4) variant, as I have hundreds
> of customers/systems already in production running 8.3 and relying on
> the igb driver + ALTQ. I need to be able to upgrade these systems to
> 9.1 without making hardware changes.
>
>
If it's that critical, have you thought about contracting out that task to
a developer?



adrian
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: close(2) while accept(2) is blocked

2013-03-29 Thread Carl Shapiro
On Thu, Mar 28, 2013 at 9:54 AM, Andriy Gapon  wrote:

> But the summary seems to be is that currently it is not possible to break
> a thread
> out of accept(2) (at least without resorting to signals).
>

This is a known problem for Java.  Closing a socket that another thread is
block on is supposed to unblock a thread and throw a SocketException.

http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#close()

In other operating systems, such as Solaris and MacOS X, closing the
descriptor causes blocked system calls to return with an error.

FreeBSD (and Linux) do not behave this way.  There, a JVM must do extra
bookkeeping to associate file descriptors with threads blocked on the
descriptor.  This allows the close method to identify blocked threads and
send them a signal.  On those threads the caller of the blocking method
must further distinguish an error return as being caused by a signal sent
on behalf of close.

It is not obvious whether there is any benefit to having the current
blocking behaviour.  Threads are an afterthought in UNIX so this could just
be an oversight.  It would make a high-level language runtimes simpler if
FreeBSD behaved more like Solaris and MacOS X.
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: close(2) while accept(2) is blocked

2013-03-29 Thread Bakul Shah
On Fri, 29 Mar 2013 14:30:59 PDT Carl Shapiro  wrote:
> 
> In other operating systems, such as Solaris and MacOS X, closing the
> descriptor causes blocked system calls to return with an error.

What happens if you select() on a socket and another thread
closes this socket?  Ideally select() should return (with
EINTR?) so that the blocking thread can some cleanup action.
And if you do that, the blocking accept() case is not really
different.

There is no point in *not* telling blocking threads that the
descriptor they're waiting on is one EBADF and nothing is
going to happen.

> It is not obvious whether there is any benefit to having the current
> blocking behaviour. 

This may need some new kernel code but IMHO this is worth fixing.
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


IPsec crash in TCP, also NFS DRC patches (was: Re: Limits on jumbo mbuf cluster allocation)

2013-03-29 Thread Garrett Wollman
< 
said:

> The patch includes a lot of drc2.patch and drc3.patch, so don't try
> and apply it to a patched kernel. Hopefully it will apply cleanly to
> vanilla sources.

> Tha patch has been minimally tested.

Well, it's taken a long time, but I was finally able to get some
testing.  The user whose OpenStack cluster jobs had eaten previous
file servers killed this one, too, but not in a way that's
attributable to the NFS code.  He was able to put on a fairly heavy
load from about 630 virtual machines in our cluster without the server
even getting particularly busy.  Another cluster job, however,
repeatedly panicked the server.  Thankfully, there's a backtrace:

Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 03
fault virtual address   = 0x0
fault code  = supervisor read data, page not present

instruction pointer = 0x20:0x8074ee11
stack pointer   = 0x28:0xff9a469ee6d0
frame pointer   = 0x28:0xff9a469ee710
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 12 (irq260: ix0:que 3)
trap number = 12
panic: page fault
cpuid = 3
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
panic() at panic+0x1ce
trap_fatal() at trap_fatal+0x290
trap_pfault() at trap_pfault+0x21c
trap() at trap+0x365
calltrap() at calltrap+0x8
--- trap 0xc, rip = 0x8074ee11, rsp = 0xff9a469ee6d0, rbp = 
0xff9a469ee710 ---
ipsec_getpolicybysock() at ipsec_getpolicybysock+0x31
ipsec46_in_reject() at ipsec46_in_reject+0x24
ipsec4_in_reject() at ipsec4_in_reject+0x9

tcp_input() at tcp_input+0x498
ip_input() at ip_input+0x1de
netisr_dispatch_src() at netisr_dispatch_src+0x20b
ether_demux() at ether_demux+0x14d
ether_nh_input() at ether_nh_input+0x1f4
netisr_dispatch_src() at netisr_dispatch_src+0x20b
ixgbe_rxeof() at ixgbe_rxeof+0x1cb
ixgbe_msix_que() at ixgbe_msix_que+0xa8
intr_event_execute_handlers() at intr_event_execute_handlers+0x104
ithread_loop() at ithread_loop+0xa6
fork_exit() at fork_exit+0x11f
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xff9a469eecf0, rbp = 0 ---

ipsec_setspidx_inpcb() is inlined here; the fault is on the line:

error = ipsec_setspidx(m, &inp->inp_sp->sp_in->spidx, 1);

where inp->inp_sp is being dereferenced:

0x8074ee02 :  mov0xf0(%rdx),%rax
0x8074ee09 :  mov$0x1,%edx
0x8074ee0e :  mov%rcx,%r15
0x8074ee11 :  mov(%rax),%rsi <-- FAULT!
0x8074ee14 :  add$0x34,%rsi
0x8074ee18 :  callq  0x8074e6f0 


(inp is in %rdx here).  The crash occurs when the clients are making
about 200 connections per second.  (We're not sure if this is by
design or if it's a broken NAT implementation on the OpenStack nodes.
My money is on a broken NAT, because we were also seeing lots of data
being sent on apparently-closed connections.  The kernel was also
logging many [ECONNABORTED] errors when nfsd tried to accept() new
client connections.  A capture is available if anyone wants to look at
this in more detail, although obviously not from the traffic that
actually caused the crash.)

inp_sp is declared thus:
struct  inpcbpolicy *inp_sp;/* (s) for IPSEC */

The locking code "(s)" is supposed to indicate "protected by another
subsystem's locks", but there is no locking at all in
ipsec_getpolicybysock(), so that seems to be a misstatement at best.

I quickly installed a new kernel with IPSEC disabled (we have no need
for it), and it seems to have survived further abuse, although it
seems that the user's test jobs were winding down at that time as well
so I can't say for certain that it wouldn't have crashed somewhere
else.

-GAWollman

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"