Aaron Turner | 24 Apr 2012 20:47
Picon

dual nic mode: what interface is what?

I've been adding a cool little feature for a new injection method and
started looking at the code for dealing with two NIC's and tcpprep
cache files.  I started noticing there was a bit inconsistency in the
terminology and even some of the logic in the code about what traffic
goes out which interface.  To say it another way, it was
*deterministic*, but for new users it wasn't *predictable*.
Unfortunately, the documentation (man pages and wiki) were pretty
light on details of what goes where, so people had to figure it out
manually.  /suck

In an attempt to set things right, I'm making the following proposal
which assuming I don't get too much negative feedback over will go
into the next release:

-i (aka primary interface)
  * traffic that client(s) send (client->server)
  * "matched" when using manual filters like --cidr or --regex
  * RX for khial interfaces (/dev/char/testpacketsX)

-I (aka secondary interface)
  * traffic that server(s) send (server->client)
  * "not-matched" when using manual filters like --cidr or --regex
  * TX for khial interfaces

Probably the biggest change is that in the past, tcpreplay said that
the "primary" interface was for "server" traffic.  It never said if
that was FROM or TO the server though.  Looking at the code, it
actually was FROM.  Honestly though, I think people usually think of
terms of client-to-server and client/server so "client" comes before
"server" so the command line arguments should follow that pattern as
(Continue reading)


Gmane