9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@9fans.net
Subject: Re: [9fans] Inducing artificial latency
Date: Wed, 16 Jun 2010 23:32:57 -0400	[thread overview]
Message-ID: <589deca569d0b4d40567017c2fef5d74@kw.quanstro.net> (raw)
In-Reply-To: <20100617020231.0F62C5B76@mail.bitblocks.com>

> > i don't think you would.  if you're using the latency device as your
> > ethernet device, no muxing is required.
>
> Yes, if you dedicate a port. A reasonable tradeoff in some cases.

you don't need to dedicate a port.  just open protocol -1.

> > > Something like a tap device would allow you to simulate high
> > > latency link, a level-2 bridge or whatever in usercode.
> >
> > this is difficult to do in user space for two reasons
> > 1.  the difficulty of getting precision timing.
> > 2.  copies into/out of the kernel.
>
> I don't see what "difficulty" has to do with your two points.
> The goal here would be flexibility more than performance.

my application requires doing this for (multiple)
10gbe at wire speed.

> > what remains is code littered with system dependencies.  it's
> > worthwhile comparing pc/devether.c with kw/devether.c
>
> I did.  A lot of the code is the same. More can be factored
> out (as the diff shows some fixes appear in one and not the
> other).

i'm sure it's not perfect.  but there are a lot of system
dependencies in there.  i don't think it's worth factoring
more stuff out, but i'd love someone to show that i'm wrong.

>> by the way, there is no vlan code, as far as i know, which
>> is absolutely fine by me.
>
> grep -i vlan /sys/src/9/pc/ether*

if you look carefully, none of this is actually used;
there are vlan tags mentioned in the ring entries, but
they are ignored.  as an example, take the 82598.

78: 	Vfta		= 0x0a000/4,	/* vlan filter table array. */
80: 	Vlnctrl		= 0x05088/4,	/* vlan control */
86: 	Imirvp		= 0x05ac0/4,	/* immediate irq vlan priority */
258: 	ushort	vlan;
279: 	ushort	vlan;

>
> > > A user level simulator will make it easy to add random drops,
> > > reordering, filtering, NAT, etc.
> >
> > what do you mean by mac-level natting?  something like
> > hp vc?  seems way too extravagant for a simple packet muncher.
>
> I meant IP natting (but doing it in usercode). The point was
> something like tap would allow you to munge packets however
> you wished and stuff them back into kernel pkt queues.

if you're doing the delay stuff at the ether level, i fail to see
what ip stuff (nat) has to do with it.

- erik



  reply	other threads:[~2010-06-17  3:32 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-15 21:29 John Floren
2010-06-15 21:39 ` Jorden M
2010-06-15 22:06   ` Enrique Soriano
2010-06-15 21:39 ` erik quanstrom
2010-06-15 21:53   ` David Leimbach
2010-06-15 21:59     ` erik quanstrom
2010-06-15 21:45 ` Devon H. O'Dell
2010-06-15 22:43   ` John Floren
2010-06-15 23:01     ` Devon H. O'Dell
2010-06-16 19:04   ` John Floren
2010-06-16 22:15     ` Francisco J Ballesteros
2010-06-16 22:31       ` erik quanstrom
2010-06-16 22:58         ` EBo
2010-06-16 23:43         ` Bakul Shah
2010-06-17  0:10           ` erik quanstrom
2010-06-17  2:02             ` Bakul Shah
2010-06-17  3:32               ` erik quanstrom [this message]
2010-06-15 21:58 ` Gorka Guardiola
2010-06-15 22:07   ` erik quanstrom
2010-06-15 22:14     ` Gorka Guardiola
2010-06-22 14:53       ` John Floren
2010-06-22 15:03         ` John Floren
2010-06-16  5:20 ` Skip Tavakkolian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=589deca569d0b4d40567017c2fef5d74@kw.quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).