Commit Graph

25 Commits

Author SHA1 Message Date
pooka
a768afd60b __KERNEL_RCSID 2008-12-18 00:24:12 +00:00
pooka
eaff187ca4 Add dummy pr_ctloutput. I'm sure I had one at some point, since
it's required for rump_nfs to work, but I guess I lost it somewhere.
(yes, it should actually be implemented also)
2008-11-26 07:19:48 +00:00
pooka
d6457e83e1 Make sockin radix-capable. 2008-11-25 20:42:01 +00:00
pooka
eebcd28057 Support PRU_BIND / PRU_LISTEN / PRU_ACCEPT in sockin. 2008-11-25 20:39:57 +00:00
pooka
922d39c2b2 Heave-ho radix.c from librumpnet_net to librumpnet. 2008-11-25 18:36:08 +00:00
pooka
e6f5280c8d Add comments on how to do tap and bridging required for sensible
full networking stack operation.
2008-11-14 14:24:00 +00:00
pooka
1941578e57 slap some sort of copyright here 2008-11-14 14:17:53 +00:00
minskim
13a938dd6c Remove trailing whitespace. 2008-10-26 18:39:01 +00:00
pooka
6d68e64d68 Add an example of how to configure the virtual interface address
and the default gateway.

(this will probably go into some library eventually, but now it'll
just sit here as an example)
2008-10-16 19:28:26 +00:00
pooka
a208c2294a Deal with the ld.so/linkset brokenness and compile all of libnet
and libnetinet into a big bunch for now.  If they were separate
libraries, the DOMAIN_DEFINE() in the latter on the linkline would
not get noticed at "boot" time because of the abovementioned
brokenness.  One of these days I'll add code to dlopen() the
libraries and resplit them, but this will allow things to work
until then.
2008-10-16 19:14:51 +00:00
pooka
8447026c71 appease 64bit gcc 2008-10-16 13:36:06 +00:00
pooka
ce2bb4bac6 Add a prototype to allow this to build (will be moved to a better
place later).
2008-10-16 09:25:30 +00:00
pooka
e66325797b kill default DBG=-g 2008-10-16 09:24:51 +00:00
pooka
edfec78484 add -lrumpnet 2008-10-15 13:11:45 +00:00
pooka
ba12d8328e Call rump_sys_setsockopt(SO_RCVTIMEO) for el-cheapo "async" socket i/o. 2008-10-15 11:45:35 +00:00
pooka
7dd6651a0a Mostly support TCP, mostly meaning "client-side TCP", since listen,
accept etc. is not supported yet.  Disconnect is not really supported
either, but doesn't matter in most cases.
2008-10-15 11:43:38 +00:00
pooka
8a7a4b8184 Add a simple example of how to use rump networking facilities.
This just contacts www.NetBSD.org, does GET / and displays the
result.

It either uses the host kernel socket provided PF_INET or the kernel
TCP/IP stack running in userspace (via if_virt and /dev/tap),
depending on the libraries it's linked with.

(not built yet, as I need to commit some more bits from my local
tree for it work)
2008-10-14 00:56:24 +00:00
pooka
65f822a3e5 Make the "something random" ethernet address ETHER_IS_LOCAL
(address assignment probably needs some more work if we want to
support multiple interfaces).

hat tip to Quentin Garnier
2008-10-14 00:50:44 +00:00
pooka
5ca4322cea Add tcp debugging as a build option. 2008-10-13 22:24:06 +00:00
pooka
e6b645ca82 Dear diary: an ethernet address with 0x01 set in the first octet
is an ethernet multicast address.  TCP does not like ethernet
multicast addresses.
2008-10-13 22:05:15 +00:00
pooka
f4c6b13e6b Locally descend into new directories (build does not descend here yet). 2008-10-06 00:32:02 +00:00
pooka
61e869be3c Implement a virtual userspace networking interface. This is required
for any sensible operation when running the entire TCP/IP stack in
userspace (as opposed to libsockin which uses host kernel networking
to provide PF_INET).

While this basically works (although it is quite barebones), it
depends on some bit of cleanup in librump and is not built by
default yet.
2008-10-06 00:30:32 +00:00
pooka
86cf71862e Provide the TCP/IP as a rump library. 2008-10-06 00:27:48 +00:00
pooka
8fb9f99bba Provide essentially sys/net as a rump library. 2008-10-06 00:27:06 +00:00
pooka
ad9bbd7b26 Add a very simplistic PF_INET/SOCK_DGRAM domain/proto implementation,
which delegates the work to host kernel sockets.  This does not
run the entire kernel TCP/IP stack in userspace and therefore does
not require the ability to send or receive raw packets.  This
implies that root priviledges are not required.  As already said
above, only supports UDPv4 for now.  Extending should be easy.
2008-10-02 21:59:19 +00:00