Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Sep 2015 20:04:01 -0700
From:      Artem Belevich <artemb@gmail.com>
To:        "M. V." <bored_to_death85@yahoo.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>
Subject:   Re: Problem with receiving packets right after remote-interface is up
Message-ID:  <CAFqOu6jwJToiNhgEOXb%2BZGZHqy_XYEUVQ1vfmKgJR%2B=KEe9XXQ@mail.gmail.com>
In-Reply-To: <1441575111.13185.YahooMailBasic@web165005.mail.bf1.yahoo.com>
References:  <CAFqOu6ihCTrOiTppYA%2B%2BGkTD_n1e%2BUTiV6x2TznVUp65mno2rA@mail.gmail.com> <1441575111.13185.YahooMailBasic@web165005.mail.bf1.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 6, 2015 at 2:31 PM, M. V. <bored_to_death85@yahoo.com> wrote:

>
> About disabling auto-negotiation and media options:
> My interfaces didn't support master/slave option. I changed interface
> media to both "1000BASET" and "100BASETX" instead of auto, but problem was
> still there. but interestingly, when I changed receiver's media to
> "10BASET" (other side was still auto) no packet-drop occurred (even when I
> removed the delay between bringing up interface and sending packets).
>
>
Even though 10/100/1000 Ethernet uses more or less same wires, the ways
they transmit signals over the wire are *very* different. 10BaseT is very
forgiving signal-integrity-wise, so bringing up the link is almost
instantaneous if there's no autonegotiation. 1000Base-T, on the other hand,
requires fair amount of time to measure electrical properties of the cable
and adjust PHY parameters to compensate for them. That takes fair amount of
time even if you have disabled autonegotiation.


> I checked e1000 and em driver codes to find out what is driver doing
> differently when we set media to 10BASET that makes my tests succeed, but
> found nothing. Any ideas?
>
>
It all happens on physical level. Driver usually has little control over
that other than telling PHY to establish the link and controlling
autonegotiation parameters, so 10BaseT and 1000Base-T will look roughly the
same.



> On Sun, 9/6/15, Artem Belevich <artemb@gmail.com> wrote:
> > It sounds to me like the problem is with your test setup. If
> > your test requires no packet drops, then it implicitly
> > assumes having established link and sending the packets
> > right after the interface
>
> Unfortunately we can't change test setup. Spirent Test-Center device runs
> the tests and gives up the detailed result about what happened, and these
> drops cause most tests to FAIL at the beginning and doesn't continue.
>

>From what you've described, FreeBSD box's behavior appears to be normal.
Did you talk to Spirent support?
I would expect them to have a way to either avoid bringing physical link
down, or delaying RX/TX until link is up. SmartBits and Ixia boxes I dealt
with before used to have plenty of controls over their interfaces. I
suspect Spirent does, too.


--Artem



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFqOu6jwJToiNhgEOXb%2BZGZHqy_XYEUVQ1vfmKgJR%2B=KEe9XXQ>