Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Dec 2013 14:37:11 -0800
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        Yong-Hyeon Pyun <pyunyh@gmail.com>, Michael Tuexen <Michael.Tuexen@lurchi.franken.de>, Jack F Vogel <jfv@freebsd.org>, "freebsd-net@freebsd.org list" <freebsd-net@freebsd.org>
Subject:   Re: A small fix for if_em.c, if_igb.c, if_ixgbe.c
Message-ID:  <20131205223711.GB55638@funkthat.com>
In-Reply-To: <CAJ-Vmo=4Zwv5V6ZYDuDLtt%2BowgbvmqyvrnrfnU%2BHeXQ3vAn-KA@mail.gmail.com>
References:  <521B9C2A-EECC-4412-9F68-2235320EF324@lurchi.franken.de> <20131202022338.GA3500@michelle.cdnetworks.com> <B9593E83-E687-49E9-ABDC-B2DD615180E9@lurchi.franken.de> <20131203021658.GC2981@michelle.cdnetworks.com> <CAJ-Vmo=kfoPMYjZ0WAtqmoJMz1utXH50SW9N92RA83EMUzY7WA@mail.gmail.com> <B89B1E2D-BAF0-4815-B3AB-EB226F4F76DE@lurchi.franken.de> <CAJ-Vmo=4Zwv5V6ZYDuDLtt%2BowgbvmqyvrnrfnU%2BHeXQ3vAn-KA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Adrian Chadd wrote this message on Thu, Dec 05, 2013 at 14:01 -0800:
> On 5 December 2013 13:05, Michael Tuexen
> <Michael.Tuexen@lurchi.franken.de> wrote:
> 
> > Just to be clear: This would mean that xxx_transmit() would return
> > an error even if the packet provided in the call xxx_transmit() is
> > enqueued and not dropped?
> > This would also be problem with the current SCTP stack.
> 
> I think it'll return an error only if:
> 
> * it queued the frame to the tail of the drbd;
> * it then tried to transmit a frame from the head of the drbd;
> * it failed to transmit the first frame in the drbd and it couldn't
> put it back into the queue for whatever reason.
> 
> So I think it should be "ok enough" for both TCP and SCTP.

IMO it should only return an error if the specific frame failed to be
sent or queued.  If you cannot determine at return time if the frame
failed to be transmitted/queued, then it should return success.

In the above case, if there were other frames queued ahead, and the
first one failed, then it sounds like the frame may eventually be sent
and we will end up sending a duplicate frame.

> Give it a go and let me know how it goes.
> 
> It's an interesting architectural problem to completely solve.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131205223711.GB55638>