pooka
f731c31fa4
Use a bunch of weak symbols to determine which network components
...
are present. This works in userspace as opposed relying in link
sets, which fail miserably. Later, when the networking stack
becomes modularized, we can move to a dynamic scheme like with file
systems.
Also, this change allows us to do proper autoconfig, namely attach
the loopback interface iff it is present.
2009-05-28 00:02:16 +00:00
pooka
9523c2be23
Add a dummyif, which doesn't actually traffic any cargo, but since
...
it has no backend it can always be attached and is therefore
convenient for testing ifconfig.
2009-05-27 23:41:20 +00:00
pooka
7d6e9ec774
Support IPv6 in rump. I'd have liked to introduce a netinet6
...
component, but due to ifdef happiness permeating the sources, it's
a compile decision for now, so netinet pulls in both inet and inet6.
One issue, one single issue: the loopback interface still needs to
be created for IPv6 to work. I have patches to take care of it
automatically if the appropriate component (net) is present, but
they require a bit more testing before commit.
2009-05-26 23:43:39 +00:00
pooka
9c2d055f86
Filter out ENETRESET from ether_ioctl() since we aren't interested
...
in multicast hugging.
2009-05-26 19:03:05 +00:00
pooka
eafbd6f42b
let drivers define DPRINTF
2009-04-06 20:41:29 +00:00
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