pipe: Add a ctl and "oneblock" command
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 21 Dec 2016 15:43:08 +0000 (10:43 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 10 Jan 2017 00:01:40 +0000 (19:01 -0500)
commit8e2e4517a87ffe83d8b54c359ac505c5316a0acd
tree5f9dc3ee1358e84dac39446793346cc6165d1ac5
parenta44f3b54cc839047c92b8381cd6fe4d6b873b8bb
pipe: Add a ctl and "oneblock" command

This command is the same that netif takes: set the queues to "one block at
a time" mode.  Every read will return exactly one block with data in it.

The immediate need for this is that snoopy expects Qmsg-style inputs.  I'm
working on making virtio-net spit out traffic on a pipe, which we can snoop
on.  This change will allow snoopy to get one packet at a time per read,
instead of accidentally merging a bunch of packets and treating the extra
packets as ethernet padding.

This also uses the same devdir() method for Qdir's stat as Qctl.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/drivers/dev/pipe.c