pooka
06dceb4d08
* make interface creation open /dev/tapn for interface n
...
* create "unique" enaddr
* do send in async context
2009-03-27 13:46:34 +00:00
pooka
f09f82998f
* allow to specify PROT_READ/PROT_WRITE when mmapping a file
...
* add msync
2009-03-18 15:32:27 +00:00
cegger
df7f595ecd
Ansify function definitions w/o arguments. Generated with sed.
2009-03-18 10:22:21 +00:00
pooka
d8327efb56
Create receive thread only in if_start() to make sure it happens
...
after the we have been attached to the ethernet framework.
XXX: if_stop is still unimplemented
2009-03-01 20:50:04 +00:00
martin
bcd8301033
add missing atomic.h include
2009-03-01 07:10:41 +00:00
pooka
e4b2f37a4b
don't require the ifnum return pointer.
2009-02-28 16:15:19 +00:00
pooka
a4aff0cbb8
Add a virtual ethernet interface which uses shared memory as the
...
bus instead of relying on the host kernel's tap and bridge. This
is much lighterweight approach which does not consume non-pageable
kernel resources.
2009-02-28 15:28:45 +00:00
pooka
cc8bfe6c12
Fix a silly mistake: indubitably the struct ifnet pointer given to
...
ether_ifattach() should point to a struct ethercom.
2009-02-28 12:29:27 +00:00
pooka
51e345d0a5
decouple from host struct iovec
2009-02-26 00:59:31 +00:00
pooka
3f8c1c0f17
Add a PF_LOCAL rump kernel component.
2009-02-08 16:28:35 +00:00
pooka
ead3fc22d6
Better define GATEWAY in opt_gateway.h instead of the Makefile so
...
UPDATE builds don't go all coocoo.
2009-02-03 00:33:48 +00:00
pooka
7e7d6e9069
-fno-strict-aliasing is now set globally for rump
2009-02-03 00:33:26 +00:00
pooka
0b60e66a6d
enable GATEWAY
2009-02-01 17:05:26 +00:00
pooka
bcf80a6fa3
.. but we still need to check if nam is passed to PRU_SEND for
...
non-connected sockets.
2009-01-30 22:06:04 +00:00
pooka
17e9ee6db1
Call soisconnected() in PRU_CONNECT for udp sockets too.
2009-01-30 21:13:20 +00:00
pooka
8b70996e1b
* read TCP sockets in cluster-sized chunks instead of IP_MAXPACKET.
...
(it might be a better to chain a few clusters into the iov
instead of just one since we are making the syscall anyway)
* don't overwrite the useful error value
2009-01-27 13:40:16 +00:00
pooka
afe25e2049
Hold softnet_lock only when we need it.
2009-01-27 11:37:42 +00:00
pooka
d1543896fb
* support PRU_SOCK/PEERADDR
...
* soisdisconnected() TCP sockets if read returns a non-transient error or 0
2009-01-26 13:44:51 +00:00
pooka
39cb5b514d
Convert compile-time SOCKIN_NOTHREADS into runtime rump_threads check.
2009-01-26 10:43:21 +00:00
pooka
d9c038d4fe
Adjust for explicit errno parameter removal from rump syscalls
2009-01-23 19:36:01 +00:00
pooka
2a4d5485f0
Now that SO_RCVTIMEO is versioned, we don't need the timeval hack
...
here anymore.
2009-01-23 19:07:17 +00:00
pooka
026ac4657f
rump_sys___socket30 -> rump_sys_socket
2009-01-13 22:35:57 +00:00
pooka
c6f986a4ea
WARNS=4
2009-01-13 18:51:41 +00:00
pooka
ee5fe9ff45
fix inet library name
2009-01-13 02:07:30 +00:00
mjf
89df864a44
Add missing dollar sign ($) for $NetBSD$ tag.
2009-01-06 15:52:27 +00:00
pooka
3945d47397
Purge multiple kernel opt files.
2009-01-01 19:43:57 +00:00
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