Re: Intel 82545 & TSO

2017-04-20 Thread Vijay Singh
uot;em" should do it. On Thu, Apr 20, 2017 at 10:55 AM, Sean Bruno wrote: > > > On 04/05/17 15:54, Vijay Singh wrote: > > This is from FreeBSD 10.3. > > > > On Wed, Apr 5, 2017 at 2:53 PM, Sean Bruno > <mailto:sbr...@freebsd.org>> wrote: > > &

Re: Intel 82545 & TSO

2017-04-05 Thread Vijay Singh
This is from FreeBSD 10.3. On Wed, Apr 5, 2017 at 2:53 PM, Sean Bruno wrote: > > > On 04/05/17 10:26, Vijay Singh wrote: > > I am running FreeBSD as a guest on ESX 5.x and see Intel device 0x100F in > > the guest. The man page for em(4) says: > > > > "

Intel 82545 & TSO

2017-04-05 Thread Vijay Singh
I am running FreeBSD as a guest on ESX 5.x and see Intel device 0x100F in the guest. The man page for em(4) says: " The driver supports Transmit/Receive checksum offload and Jumbo Frames on all but 82542-based adapters. Furthermore it supports TCP segmentation offload (TSO) on all adapters but tho

Software iWARP on FreeBSD

2016-05-20 Thread Vijay Singh
Hello. I'm looking to have software iWARP working on FreeBSD (kernel mode for now). Bernard and his team have an implementation: https://github.com/zrlio/softiwarp/tree/master/kernel. It has been released under the BSD license. Currently it is written for Linux, so there will be porting effort requ

IPv6 support in OFED

2016-04-06 Thread Vijay Singh
[Apologies for the cross-post] I see that the OFED stack supports IPv6 in many places, so I was wondering why we have this in rdma_listen(): int rdma_listen(struct rdma_cm_id *id, int backlog) { struct rdma_id_private *id_priv; int ret; id_priv = container_of(id, struct r

krping

2016-03-24 Thread Vijay Singh
I would like to use krping for some RDMA testing, but I have not used it before. If someone who has used this could send me instructions I would really appreciate it. -vijay ___ freebsd-net@freebsd.org mailing list https://lists.freebsd.org/mailman/listi

Re: GPL issues around OFED code in FreeBSD 9.1

2015-09-03 Thread Vijay Singh
Someone told me that once the OFED code hit kernel.org the GPL is the only license that applies. Does anyone have insights about that? On Mon, Aug 31, 2015 at 10:25 AM, Garrett Cooper wrote: > > > On Aug 31, 2015, at 09:34, Hrishikesh Keremane via freebsd-hackers < > freebsd-hack...@freebsd.org>

socket receive buffer size & window updates

2014-03-11 Thread Vijay Singh
The socket option handler currently doesn't prevent connecting or connected sockets from changing their receive buffer sizes. In particular, I ran into a an application that sets the receive buffer size lower than what it originally was. In tcp_output(), if no data is being sent, there is code tha

Re: Network stack changes

2013-09-24 Thread Vijay Singh
Hi, Robert Watson and Adrian have asked me to share some details around an MP design that we have at $work that is based on Robert's PCBGROUP work. Here are some details that I have put together. Design of the network MP system -–--- 1. Reduce locking in th

Re: Making IB a first class citizen.

2013-08-23 Thread Vijay Singh
We've been running with this change at work for some time and it doesn't seem to be impacting performance at all. We have a statically routed environment though. Also if we really want to optimize for performance wrt routing then IMHO we need to bring back route caching to the tcpcb. Just a thou

Re: it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux)

2013-08-18 Thread Vijay Singh
Barney, did you get picked on a lot as a kid? Wonder why you're so caustic and negative all the time? Sent from my iPhone On Aug 18, 2013, at 11:39 AM, Barney Cordoba wrote: > Great. Never has the been a better explanation for the word Kludge than > netmap. > > > ___

Re: it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux)

2013-08-14 Thread Vijay Singh
Is that what FLOWTABLE does? Also we need a mechanism to record time spent at various layers in the stack. Luigi has used his own methods but we're lacking something more generic. At work we have some crude tools that use mcount information to indirectly measure costs but they are not reliable a

Re: Problem with fwip(4) and limited size ll_addr in the struct llentry

2013-07-01 Thread Vijay Singh
If you enable OFED, then the llentry size is expanded to store IB addresses as well. Code should be in 9.x. -vijay On Mon, Jul 1, 2013 at 4:49 PM, Andrey V. Elsukov wrote: > Hi, > > In the kern/176596 described the easy repeatable panic. > I found that it occurs, because struct llentry by defa

anyone running the ofed code

2013-05-10 Thread Vijay Singh
Apologies for the cross post. Were trying out the ofed code and running into some issues, so would love to discuss. -vijay ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "fr

VIMAGE and socreate

2013-05-09 Thread Vijay Singh
In 8.3, socreate() does: so = soalloc(CRED_TO_VNET(cred)); Is there a reason why we don't do soalloc(curvnet) here? Since CURVNET_SET() doesn't update the vnet in the thread ucred, which is passed into socreate(), it doesn't take effect for socket creations. Any ideas? -vijay __

Small patch in OFED/sdp

2013-04-02 Thread Vijay Singh
Hi, this is based on the the understanding that the SS_NBIO is a socket state, and not a state of the socket buffer. F9@[/u/vijay/bsd/CODE/cur/sys/ofed/drivers/infiniband/ulp/sdp]# svn diff Index: sdp_main.c === --- sdp_main.c (revis

Possible optimization in ether_output()

2013-02-19 Thread Vijay Singh
Hi, this patch gives a modest performance improvement here @work. Please consider. [/u/vijay/bsd/CODE/cur/sys/net]# svn diff if_ethersubr.c Index: if_ethersubr.c === --- if_ethersubr.c (revision 247012) +++ if_ethersubr.c (w

Re: NDP prefix list locking

2013-02-19 Thread Vijay Singh
Mark, is this the panic you were hitting? PANIC : Bad list head 0xff800057e720 first->prev != head cpuid = 6 KDB: stack backtrace: kdb_backtrace() at kdb_backtrace+0x3e panic() at panic+0x479 nd6_prelist_add() at nd6_prelist_add+0x236 prelist_remove() at prelist_remove+0x4c5 nd6_ra_input() at

Why call ETHER_BPF_MTAP on Tx when not tracing

2013-01-31 Thread Vijay Singh
I see that BPFIF_LOCK() in bpf_mtap() is getting invoked, even though I am not tracing the interface. Is this expected? -vijay PS: I am running 8.2. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubs

Re: ixgbe & msi/x

2013-01-28 Thread Vijay Singh
> that was my case too. I have not gone too far into my investigation but > should > note that not _all_ interrupts were lost; my symptoms were queue overflows > under netmap even at a low 2 Mpps, which with 2k entries in the rx ring > means > that the interrupt was delayed for more than 1ms, well

Re: ixgbe & msi/x

2013-01-28 Thread Vijay Singh
> just curious, is this happening under behyve or also native, > and is it always occurring or it is occasional ? Native, and it happens when the pps rate is high, even if the aggregate bandwidth is low. > I am asking because with netmap when i tried to exploit interrupt > mitigation (strictly pr

ixgbe & msi/x

2013-01-27 Thread Vijay Singh
I am investigating an issue where the ixgbe (82599) device is hung and I think I have traced it to the driver not getting interrupts. I have MSI/X enabled, with 2 rx/tx queues. I am trying to understand this bit of code in the MSI/X setup: if (ixgbe_enable_msix) { ixgbe_c

Avoiding duplicate ACKs in TCP

2013-01-20 Thread Vijay Singh
All. I am working on an in-kernel application using socket upcalls. I see a lot of TCP DUP ACKs due the call to tcp_usr_rvcd(). However if I avoid this in the upcall using the MSG_SOCALLBCK flag to soreceive() the throughput of the test goes down due to missing window updates. I am wondering if th

Re: use of V_tcbinfo lock for TCP syncache

2012-12-20 Thread Vijay Singh
> How do you plan to handle the fact that most of tcp_input() and > tcp_do_segment() require at least a read lock held on the pcbinfo lock? Yes, I realized that after some experiments yesterday. > Is your goal to reduce the amount of code that gets executed under the write > lock protection of pc

Re: use of V_tcbinfo lock for TCP syncache

2012-12-19 Thread Vijay Singh
> Sure but syncache_expand() is entered with the tcbinfo already write locked > which also protects the unlocking of the listening connection and the > locking of the newly created socket. Around this part: > > /* > * Socket is created in state SYN_RECEIVED. >

Re: use of V_tcbinfo lock for TCP syncache

2012-12-19 Thread Vijay Singh
>> Holding the pcbinfo lock prevents races between syncache_socket() and >> accept(). See rwatson's comment just above tcp_usr_accept. I noted >> this too (the comment above tod->tod_offload_socket() in tcp_syncache.c) >> back when I updated the TOE code in the kernel. > > er, I think I told you

use of V_tcbinfo lock for TCP syncache

2012-12-19 Thread Vijay Singh
As it is today, a socket upcall on a listener socket is made with the V_tcbinfo lock held. [tcp_input -> syncache_socket -> sonewconn -> sowakeup]. I feel that the use of the V_tcbinfo is not consistent in the syncache code. In syncache_add(), we drop the lock before doing the lookup: IN

A small patch for sys/netinet6/in6_src.c

2012-11-25 Thread Vijay Singh
Really trivial change. /u/vijay/bsd/CODE/cur# svn diff sys/netinet6/in6_src.c Index: sys/netinet6/in6_src.c === --- sys/netinet6/in6_src.c (revision 243309) +++ sys/netinet6/in6_src.c (working copy) @@ -597,11 +597,6 @@

Intel 1G (82571EB) link bouncing constantly

2012-11-19 Thread Vijay Singh
Hi, I am on 8.2, and I see that the link on the 1G ports is constantly bouncing. I have verified cabling etc, and this is seen on multiple setups. The NIC exhibiting this is: em1@pci0:8:0:1: class=0x02 card=0x11a48086 chip=0x10a48086 rev=0x06 hdr=0x00 vendor = 'Intel Corporation'

Re: netisr panic?

2012-11-17 Thread Vijay Singh
Or cluster allocation failed, and only the mbuf was used. Sent from my iPhone On Nov 17, 2012, at 1:31 PM, Robert Watson wrote: > Panics along these lines often occur if there is a concurrency bug in a > device driver such that it modifies an mbuf after dispatching to the network > stack. E.g

SSL with kernel sockets

2012-11-07 Thread Vijay Singh
Hi, I am working on a project with FreeBSD that requires the use of SSL with kernel sockets (in a kmod). Does FreeBSD support this? ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mai

A small cleanup patch

2012-10-04 Thread Vijay Singh
Folks, I came up with this while going through the lltable code. kong@[/u/vijay/bsd/CODE/cur/sys]# svn diff net/if.c Index: net/if.c === --- net/if.c(revision 241169) +++ net/if.c(working copy) @@ -691,12 +691,9 @@ if_attachd

Re: ixgbe rx & tx locks

2012-09-26 Thread Vijay Singh
> Jack, I am wondering if this could be avoided if we can avoid to > enqueue the task OR re-enable interrupts if the other one is already > scheduled. Is this possible? It seems to me that ixgbe_handle_que() should only be doing ixgbe_rxeof(). When ever mq_start() is unable to send, it enqueues th

M_TRAILINGSPACE()

2012-09-25 Thread Vijay Singh
Folks, does the following patch make sense: server@[/u/vijay/bsd/CODE/cur/sys/sys]# svn diff mbuf.h Index: mbuf.h === --- mbuf.h (revision 240548) +++ mbuf.h (working copy) @@ -832,6 +832,8 @@ ((m)->m_flags & M_EXT ?

Re: ixgbe rx & tx locks

2012-09-25 Thread Vijay Singh
On Tue, Sep 25, 2012 at 1:40 PM, Jack Vogel wrote: > Ah yes, at one time I was keeping the RX side lock when calling the stack, > but then as I recall that had problems, so the code now releases and > reaquires > as you can see. It results in some contention but I'm not sure that's > avoidable. J

Re: ixgbe rx & tx locks

2012-09-25 Thread Vijay Singh
> Vijay, can you test this to see if it helps with your test case? > >> Jack John, apologies for the delay. I have some data to share now. With your patch, the transmit side lock contention is all gone. However I still see receive side contention. I have MSI/X enabled, with one hw queue per-port.

Re: kernel: arpresolve: can't allocate llinfo for 65.59.233.102

2012-09-11 Thread Vijay Singh
> V> > V> Could this be > http://svnweb.freebsd.org/base/head/sys/netinet/in.c?r1=226120&r2=226224&pathrev=226331 > > Why do you suspect this one? I was hitting a similar issue in 8.2. After down/up on the interface to the default gateway, I saw this message and arpresolve would never complete. I

Re: kernel: arpresolve: can't allocate llinfo for 65.59.233.102

2012-09-11 Thread Vijay Singh
On Tue, Sep 11, 2012 at 10:29 AM, Adrian Chadd wrote: > On 11 September 2012 09:01, Dominic Blais wrote: >> I could do something about the route monitor but not the fstat | grep >> route... I mean, I would have to run it in a loop endlessly until the bug >> happens... Even with it, it's not eve

sorele() and ACCEPT_LOCK()

2012-08-29 Thread Vijay Singh
Is there any reason why sorele() needs the accept lock to be held? 231 #define sorele(so) do { \ 232 ACCEPT_LOCK_ASSERT(); \ 233 SOCK_LOCK_ASSERT(so);

witness warning in arp processing

2012-08-29 Thread Vijay Singh
All, I am seeing this warning on my 8.2 based system. taskqueue_drain with the following non-sleepable locks held: exclusive rw lle (lle) r = 0 (0xff0014dc9110) locked @ sys/netinet/in.c:1760 KDB: stack backtrace: kdb_backtrace() at kdb_backtrace+0x3e _witness_debugger() at _witness_debugger+0

a query in mb_free_ext()

2012-08-16 Thread Vijay Singh
Does anyone here understand this bit of code in mb_free_ext()? /* Free attached storage if this mbuf is the only reference to it. */ if (*(m->m_ext.ref_cnt) == 1 || atomic_fetchadd_int(m->m_ext.ref_cnt, -1) == 1) { switch (m->m_ext.ext_type) {

ixgbe rx & tx locks

2012-08-13 Thread Vijay Singh
Folks, I've been looking into lock contention on the ixgbe rx & tx locks. I have collected this data: debug.lock.prof.stats: max wait_max total wait_total countavg wait_avg cnt_hold cnt_lock name 263 304 1329357 858873 322010 4 2 0 45210

question in ixgbe_legacy_irq

2012-08-03 Thread Vijay Singh
Folks, the ixgbe_legacy_irq() interrupt handler kicks the taskqueue if there is more rx or tx. 1440 if (more_rx || more_tx) 1441 taskqueue_enqueue(que->tq, &que->que_task); But then it enables interrupts unconditionally: 1454 1455 ixgbe_enable_intr(adapter); Is

UMA buckets and zone_clust

2012-06-05 Thread Vijay Singh
Hi. Perhaps a naive question - why dont we have BUCKET_MAX beyond 128? I would think that allocating a full page for buckets would be more efficient and also reduce the number of bucket allocations needed for other UMA zones. On a related note is there a reason why zone_clust does not use UMA_ZONE

Re: Intel 1G Tx hangs

2012-05-30 Thread Vijay Singh
>> Running 20ish guests in KVM with emulated e1000 cards and doing fine. >> > lucky you! I've been seeing complete RX failure with multiple emulated > e1000 in qemu guest, cf kern/168246. It did not seem to have yet > picked much interest from maintainer... > >  - Arnaud > >> Got a few physical one

Use of V_tcbinfo lock in tcp_do_segment()

2012-05-24 Thread Vijay Singh
Folks, I am trying to understand the need to hold the V_tcbinfo lock in part of this function [code included below for reference]. At present this causes the socket upcall to be called with the V_tcbinfo lock held, which I'd like to avoid. We release this lock right after this section. Looking at

Intel 1G Tx hangs

2012-05-23 Thread Vijay Singh
Hi, I have been using 8.2 based e1000 drivers and I'm seeing watchdog timeouts. I am in the process of updating the drivers to 8-stable, but wanted to check here if others have seen anything like this in the 8.1/8.2 drivers. Just fyi, I am seeing the Tx hang in if_lem.c. -vijay ___

Re: What does adapter->stats.mpc[] report for ixgbe?

2012-05-08 Thread Vijay Singh
tup stuff for MSIX. > > Jack > > > > On Tue, May 8, 2012 at 12:08 AM, Vijay Singh wrote: >> >> On Mon, May 7, 2012 at 10:16 PM, Jack Vogel wrote: >> > Juli is correct, the FIFO is not partitioned by the driver queues as >> > they >> &

Re: What does adapter->stats.mpc[] report for ixgbe?

2012-05-08 Thread Vijay Singh
On Mon, May 7, 2012 at 10:16 PM, Jack Vogel wrote: > Juli is correct, the FIFO is not partitioned by the driver queues as they > exist in the current driver, its only seperated into the 3 parts I > mentioned. I am running ixgbe code from 8.1, and IXGBE_FDIR isn't defined, so is the following doin

Re: What does adapter->stats.mpc[] report for ixgbe?

2012-05-07 Thread Vijay Singh
> normal net traffic. But for now in FreeBSD its just one which is divided > into 3 parts: TX, RX, and FDIR (flow director). Jack, does the sw driver control in any way the partitioning of the FIFO? I guess enabling 2 hw queues splits the FIFO in half. But otherwise does the driver control this in

What does adapter->stats.mpc[] report for ixgbe?

2012-05-07 Thread Vijay Singh
Hi, a question for jfv@ or whoever else is familiar with the ixgbe driver - I am looking at a system where the adapter reports a large number of ierrors that I traced to this stat. What does this mean? Intuitively it seems like the receive ring isn't being drained fast enough but wanted to confirm

Re: igb(4) Raising IGB_MAX_TXD ??

2012-04-21 Thread Vijay Singh
>> FWIW, at my current employer we run with both rxd and txd cranked up to 32k >> (we had to patch the driver as you suggested) and have not had any problems >> doing that for a couple of years now. John et al, is this limit specific to igb, or is it applicable to the ixgbe as well. From the 8.x d

Patch to restore vnet at a couple of places

2012-03-02 Thread Vijay Singh
Patch is against 9-stable. [pc20 /u/vijay/bsd/CODE/9s/sys]# svn diff net/if_ethersubr.c Index: net/if_ethersubr.c === --- net/if_ethersubr.c (revision 232242) +++ net/if_ethersubr.c (working copy) @@ -661,8 +661,10 @@

Any recommendations for a 10G NIC from Broadcom

2012-01-03 Thread Vijay Singh
Hi. I would like to try out a 10G NIC from Broadcom. The BCM5716 seems promising. I am looking for features such as multi-queue, MSI-X, TSO etc. Any recommendations would be greatly appreciated. -vijay PS: I'd be using FreeBSD 8.2 initially, and FreeBSD 9.x in a few months. __

Use of spinlocks for TCP callouts

2012-01-02 Thread Vijay Singh
I have see the following call sequence in profiles: called/total parents index %timeself descendents called+selfname index called/total children 0.021.14 3822699/75597

LOR in FreeBSD 8.1 w/ IPv6

2011-12-14 Thread Vijay Singh
Hi, the following LOR is reported on my system: f6070c-01% lock order reversal: 1st 0xff00043c0c18 e5a:rx(0) (e5a:rx(0)) @ sys/dev/e1000/if_em.c:1607 2nd 0x80f10780 in6_multi_mtx (in6_multi_mtx) @ sys/netinet6/in6_var.h:734 KDB: stack backtrace: kdb_backtrace() at kdb_backtrace+0x3e

ipf(8) issue

2011-11-15 Thread Vijay Singh
Hi. Apologies if this message is a duplicate. I am having issues posting to this list. I am wondering if setting an ipf rule such as the one below will cause some TCP rate limiting. pass in quick on proto tcp from any to 172.17.167.126/32 port = http keep state I am trying to explain TCP RSTs b

ipf(8) for TCP connection rate limiting

2011-11-10 Thread Vijay Singh
Hi. My machine has some ipf(8) rules and I see that when there is a TCP connection storm to the http port the filer sends out TCP resets. I wanted to know if its possible to configure the pps limit for TCP connections before the RSTs kick in using ipf. regards, vijay __

ipf(8) for TCP rate limiting

2011-11-09 Thread Vijay Singh
Hi. My machine has some ipf(8) rules and I see that when there is a TCP connection storm to the http port the filer sends out TCP resets. I wanted to know if its possible to configure the pps limit for TCP connections before the RSTs kick in using ipf. regards, vijay __

interface Ierrs

2011-05-07 Thread Vijay Singh
Hi. I am seeing errors reported by "netstat -i". I am running a 7.2 kernel. delta88b% netstat -i NameMtu Network Address Ipkts IerrsOpkts Oerrs Coll eth11500 00:a0:98:08:6c:ef 17515937 114620 12317753 0 0 eth11500 192.168.10.0 192.168.10.8 175

gdb scripts for mbuf leaks

2011-05-04 Thread Vijay Singh
Hi, I am trying to track down an mbuf leak caused by an in-kernel custom application. Does anyone here have any gdb scripts that would traverse the zone (zone mbuf in this case) and print out all objects that are currently allocated? -vijay PS: I see the count of mbufs (current/cache/total) going

Re: Jumbo frame support for BGE_ASICREV_BCM5714

2011-03-16 Thread Vijay Singh
> > There was a bug in the diff. I updated the diff but URL is the same > as before. If you have downloaded the file, please try again. > Hi, thanks a lot for your effort. I will test this out within a week and get you some feedback. Thanks again. -vijay __

Re: Jumbo frame support for BGE_ASICREV_BCM5714

2011-03-14 Thread Vijay Singh
> As you know, BCM5714, BCM5715 and BCM5780 use unique jumbo frame > scheme that is not compatible with other controllers. All other > Broadcom controllers have better jumbo frame scheme. These > controllers have one send ring, one standard receive producer ring > and one receive return ring. In or

Jumbo frame support for BGE_ASICREV_BCM5714

2011-03-14 Thread Vijay Singh
Hi all. I'm working off 7.1. Is there support for jumbo frames available on bge(4) for BGE_ASICREV_BCM5714? regards, vijay PS: my version of the code looks like this: case BGE_ASICREV_BCM5714_A0: case BGE_ASICREV_BCM5780: case BGE_ASICREV_BCM5714: sc->bge_

Re: Regarding if_alloc()

2008-04-22 Thread vijay singh
- Original Message From: Robert Watson <[EMAIL PROTECTED]> To: Brooks Davis <[EMAIL PROTECTED]> Cc: vijay singh <[EMAIL PROTECTED]>; freebsd-net@freebsd.org Sent: Sunday, April 20, 2008 2:27:15 AM Subject: Re: Regarding if_alloc() On Fri, 18 Apr 2008, Brooks Davi

Regarding if_alloc()

2008-04-17 Thread vijay singh
Hi all. How do we avoid a race in populating the ifindex_table? Id this is a TODO, as it seems from the code below, would it be acceptable if I wrote a patch and reused the ifnet_lock [IFNET_WLOCK, IFNET_WUNLOCK]? if_alloc(u_char type) { struct ifnet *ifp; ifp = malloc(sizeof(struct if

Fast Recovery

2006-03-03 Thread vijay singh
Hello all. I am puzzled by some strange network behavior. This is for a WAN with BW*delay of 800KB or so. I am looking at this case (in tcp_input.c): /* * Out of fast recovery. * Window inflation should have left us * with approximately snd_ssthresh * outstanding data. * But in case we would

inetd, select and read

2001-07-06 Thread vijay singh
Hello, I have a quick question. If I have a service started by the inetd should I include a select before the first read in the service. In otherwords, does inetd transfer the socket (as stdin, out and err) on a connect call or with after it. thanks vijay To Unsubscribe: send mail to [EMAIL PROT