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
next prev parent 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).