Hugo Santos
5450cae172
try to hide the gruesome details from the glue code as much as possible.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 16:45:10 +00:00
Hugo Santos
6b26fa1e80
Hm, svk shouldn't populate the destination repo. with it's local merge data..
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 11:55:57 +00:00
Hugo Santos
3c7287cce1
r10168@haiku-devel: hugo | 2007-11-03 12:35:29 +0100
...
find_route() is not really IPv4 specific.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 11:36:02 +00:00
Hugo Santos
1002cfa0bb
tcp: we should send an ACK for at least each two received segments. Jerome helped debug this one.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-27 22:30:18 +00:00
Hugo Santos
34c53bacf4
tcp: fixed an issue where the socket could be waken from ReadData() even when no new data was added to the queue (due to lost packets). Also make sure we only break from the receive loop where there is at least a byte of data to be consumed.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-27 03:38:22 +00:00
Hugo Santos
6580fd3848
Stylus cleanupus.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 21:48:31 +00:00
Hugo Santos
77bf99deb0
fixed the way accept() works in regards to the cookie pointer. It is no longer visible to userspace, we pass the fd instead. Also renamed kernel's shutdown() to system_shutdown as it collides with Posix's shutdown().
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:56:40 +00:00
Hugo Santos
be2f6ac347
net_device_interface: remove redundant fields
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:56:16 +00:00
Hugo Santos
fe0ab2867a
tcp: no longer need recursive locking.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 08:21:09 +00:00
Hugo Santos
969885b848
loop: no longer requires a reader thread, it delivers directly to the device's receive queue
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 07:56:15 +00:00
Hugo Santos
a1deb55ef5
net_interface_private: added receive queue and splited device reading from packet processing. Delivering to self no longer is executed in the sender's context, which had some problems with TCP's locking.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 07:55:54 +00:00
Hugo Santos
1b2db790c0
e1000: disabled the excessive debug output since the driver is already working here.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 04:00:00 +00:00
Hugo Santos
d3d38faf41
net_buffer: prevent modules from messing with metadata too much
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 03:48:57 +00:00
Hugo Santos
79a0d25245
net_buffer: preparing for better metadata management
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 03:48:23 +00:00
Hugo Santos
379d59225b
freebsd compat. layer: fixed ETHER_GETFRAMESIZE handling. possible fix for #1238 .
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-21 22:55:01 +00:00
Hugo Santos
98eb7f44f3
TCP: getsockopt was missing. fixes #1225
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-20 17:02:27 +00:00
Hugo Santos
d1c9c9d4b4
rtl8139exp: lock the softc when re-enabling interrupts so we don't in the middle of a disable/enable interrupts operation.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:38:20 +00:00
Hugo Santos
18c80ff054
3com driver, added required MII modules.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:33:49 +00:00
Hugo Santos
f1d1b028f2
freebsd compat. layer: another go at multiple MII module support.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:33:35 +00:00
Hugo Santos
8a43628971
freebsd compat. layer: some missing definitions as well as allowing multiple MII modules per driver.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:03:24 +00:00
Hugo Santos
abb7cffa2f
rtl8139 (FreeBSD version): added rlphy miibus support, needs testing.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 04:53:02 +00:00
Hugo Santos
4b2286de82
freebsd compat. layer: MII subsystem (needs testers, more to come).
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 04:52:43 +00:00
Hugo Santos
eb89c947d3
freebsd compat. layer: implemented miibus_readreg and miibus_writereg, it goes up through the tree until the driver.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 19:36:02 +00:00
Hugo Santos
b650951128
freebsd compat. layer: split device structure to handle for miibus devices, added a new network_device.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 19:35:38 +00:00
Hugo Santos
a300c4e4e1
added FreeBSD 6.2's if_rl (rtl 8139) driver. Mostly original source, just a minimal change to protect the interrupt mask register to more freely enable and disable device interrupts. This driver is still not working, MII support is left, should come soon.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:48 +00:00
Hugo Santos
2a275df505
freebsd compat. layer: a couple more definitions, minimal, mostly adding a new glue method to re-enable device interrupts since if_rl (rtl 8139) will require it.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:13 +00:00
Hugo Santos
5538a25de7
it seems jam prefer SubInclude to be on the bottom of the Jamfile. suggested by Jerome.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:52:14 +00:00
Hugo Santos
7d1e0a1da9
freebsd compat. layer: fixed a couple warnings, use KernelStaticLibrary as suggested by Ingo.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:49:05 +00:00
Hugo Santos
6ef02a6c21
added FreeBSD 6.2's 3Com 3c90x Etherlink XL PCI driver. The compat. layer still needs a couple things for this one to work.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:41 +00:00
Hugo Santos
50de974ebb
added FreeBSD 6.2's Intel Pro 1000 driver to the tree (original source, unchanged).
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:14 +00:00
Hugo Santos
45b5203b78
network stack: getsockopt/setsockopt are no longer optional for protocols, as suggested by Axel.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 12:57:00 +00:00
Hugo Santos
ed014fee89
freebsd compat. layer: when open()ing the device, and setting it up, don't clear the device flags (multicast included).
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 05:40:39 +00:00
Hugo Santos
07ef8870a3
freebsd compat. layer: multicast support.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 05:37:46 +00:00
Hugo Santos
0747d47e40
freebsd compat. layer: added swi taskqueue and a couple more methods that if_xl needs. also marked some as unimplemented so its clearer what is left to be done.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 04:21:47 +00:00
Hugo Santos
dcaf1f47c5
freebsd compat. layer: splited freebsd original code into own files.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 03:00:57 +00:00
Hugo Santos
100b6e6537
freebsd compat. layer: close() and free().
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 01:28:02 +00:00
Hugo Santos
9628dc45e2
freebsd compat. layer: remove arbitrary limit on number of created threads available in taskqueue_start_threads.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 00:55:10 +00:00
Hugo Santos
303a4a3df6
freebsd compat. layer: a couple more changes. a DMA-using driver (FreeBSD's em, Intel Pro 1000) now works without any modifications (it has a fast interrupt mode).
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 00:29:29 +00:00
Hugo Santos
4d281161ba
freebsd compat. layer: respect requested priority in taskqueue_start_threads.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 17:15:16 +00:00
Hugo Santos
3f3e58db20
freebsd compat. layer: gcc 4 fixes, it seems __FUNCTION__ is variant.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 17:01:10 +00:00
Hugo Santos
adf9024529
freebsd compat. layer: only init taskqueue_fast if FBSD_FAST_TASKQUEUE requirement is set (since it starts a thread and consumes a couple semaphores).
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:53:13 +00:00
Hugo Santos
b6ace498dd
freebsd compat. layer: added a requirements field so not all drivers init all subsystems. pcnet for instance doesn't need taskqueues.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:48 +00:00
Hugo Santos
859a95b6c7
freebsd compat. layer: taskqueue implementation.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:26 +00:00
Hugo Santos
a0a553caa3
tcp: allow TCP_NODELAY to be set
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 15:38:33 +00:00
Hugo Santos
36880dfbed
make tcphdr public, it is used by several applications.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 13:10:45 +00:00
Hugo Santos
25d42ceb99
freebsd compat. layer: a few more definitions, preparing for a DMA-using driver.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 13:10:02 +00:00
Hugo Santos
b27873dc4a
freebsd compat. layer: added ETHER_SETPROMISC, ETHER_GET_LINK_STATE and ETHER_SET_LINK_STATE_SEM support.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:29:06 +00:00
Hugo Santos
9534d90eb9
added IFM_AUTO to if_media and ifconfig.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:28:55 +00:00
Hugo Santos
80df11254f
freebsd compat. layer: now both receiving and sending work with PCNET.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:28:38 +00:00
Hugo Santos
e2941f52fd
freebsd compat. layer: couple fixes, sending now works with PCNET. enabled ifmedia_ioctl, and when opening a device, set it down, change media to ETHER/AUTO and set it back up so it sees a IFF_UP.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 03:20:58 +00:00
Hugo Santos
cdb3eb762a
the previously added IO interrupt handling routines are no longer necessary, at least for now.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 22:40:52 +00:00
Hugo Santos
0bdff52467
freebsd compat. layer: instead of disabling the IRQ, disable the device's interrupts on real interrupt request as suggested by Travis. This solves potential issues with shared IRQs. The check & disable interrupts function is part of the required glue code.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 22:40:19 +00:00
Hugo Santos
e1a99f77d4
freebsd compat. layer: use a thread for deferred interrupt handling. fixed a issue with bus_space_write_N. init the receive queue on device creation.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:08:08 +00:00
Hugo Santos
5502e596dc
added io_interrupt_handler methods for dynamic handling of IO interrupts, including enabling/disabling without allocation and in interrupt context.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:07:56 +00:00
Hugo Santos
ddcaaa6129
freebsd compat. layer: added open(), which calls into the driver's attach. when testing with PCNET, a interface is already presented to the stack, it is even able to obtain the MAC address from the device, but still more work to do.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 04:45:01 +00:00
Hugo Santos
244a4d1fa3
freebsd compat. layer: we now init the several sub-parts through init_hardware, as well as allocate the available device_ts.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 03:40:07 +00:00
Hugo Santos
a23462bfad
freebsd compat. layer: use m_defrag to get a contiguous mbuf when read()ing. also added write() and a partial control().
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 02:19:44 +00:00
Hugo Santos
3d09a7e4e8
Added FreeBSD 6.2's PCNET driver (original source, no modifications). It's what i'm using to develop and test the compat. layer right now, since it's one of the possibly devices VMWare emulates. although probe() already works, there's still a lot of work ahead.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 00:47:39 +00:00
Hugo Santos
00212abe1c
freebsd compat. layer: a few more methods, preparing for pcnet
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 00:47:20 +00:00
Hugo Santos
62a21143be
fixed a race condition in TCP's WaitList Wait/Signal that was preventing Connect() from awake when it should. Reported by Francois Revol.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 18:43:30 +00:00
Hugo Santos
747c938b9b
freebsd compat. layer: now the glue code properly references the required methods so we have proper linkage with gcc 4
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 14:22:35 +00:00
Hugo Santos
8c5520d67a
use a appropriate naming for structure fields.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 12:04:34 +00:00
Hugo Santos
968afe3f95
renamed fxp to ipro100.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:27:11 +00:00
Hugo Santos
785e7ef7dd
renamed TCP's TSval/TSecr
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:27:00 +00:00
Hugo Santos
336ce7039c
freebsd compat. layer: some initial glue code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:26:37 +00:00
Hugo Santos
246b7a47b9
Added FreeBSD's 6.2 fxp driver (Intel Pro Express 100) to the source tree (original source, no modifications). It already builds and links but it is still a bit far from working.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 21:42:09 +00:00
Hugo Santos
6d043beb03
freebsd compat. layer: added mii placeholders, callout implementation.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 21:18:21 +00:00
Hugo Santos
a8ff4e33f1
freebsd compat. layer: ifnet and ethernet methods. missing MII and callout
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 17:29:43 +00:00
Hugo Santos
070b62bf11
freebsd compat. layer: a few more symbols, also respect malloc's M_ZERO
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 16:40:08 +00:00
Hugo Santos
ac156738e9
freebsd compat. layer: added freebsd's busdma implementation. we are still missing MII and the ifp/ether methods.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 14:14:12 +00:00
Hugo Santos
82256564e2
freebsd compat. layer: added mbuf allocation and if_media support
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 02:18:17 +00:00
Hugo Santos
0490692add
freebsd compat. layer: resource allocation and interrupt setup
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 01:18:30 +00:00
Hugo Santos
522fc5d845
freebsd compat. layer, a few more methods.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 00:46:07 +00:00
Hugo Santos
da1d4ee6b3
typo.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 23:11:00 +00:00
Hugo Santos
750ddafd50
initial work towards a FreeBSD network driver source level compatibility layer.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 23:10:18 +00:00
Hugo Santos
f6cfc5af19
set ValueIterator's fIndex to the next slot so OpenHashTable's Iterator properly gets it.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:08:55 +00:00
Hugo Santos
2b1c2dd349
when 0 is specified as the interface index with the generic multicast delta API, the stack should select an interface for the application.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 12:41:00 +00:00
Hugo Santos
ab7e05a39b
also dump filter mode and sources in 'ipv4_multicast'.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 12:40:50 +00:00
Hugo Santos
7015d5deaa
couple fixes to make MDR addons build with gcc 4.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 10:57:27 +00:00
Hugo Santos
09b89797af
added ADDMULTI/REMMULTI support to ipro1000. Also cleaned up the compat. layer a bit to reuse some of the system's definitions.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 00:10:00 +00:00
Hugo Santos
bbcf6596ec
select the default interface to be used for multicast through a routing table query.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 15:15:47 +00:00
Hugo Santos
dfc2cabe43
call the callbacks with ->next (...)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:57:26 +00:00
Hugo Santos
89361fb14e
ethernet_device's add_multi/rem_multi now call into the driver using the ETHER_ADDMULTI/ETHER_REMMULTI ioctls.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:41:44 +00:00
Hugo Santos
954038303d
added add_multi/rem_multi to net_devices. Glued the interface protocol multicast handling with net_device via add_multi/rem_multi.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:26:03 +00:00
Hugo Santos
8465a06910
added a ValueIterator to MultiHashTable to present a limited view in result of Lookup()s.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:16:36 +00:00
Hugo Santos
8aa4c7e370
prepared the ipv4 multicast code for full multicast support.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 11:38:59 +00:00
Hugo Santos
1a41adbcd2
added join_multicast/leave_multicast to datalink protocols, preparing for full multicast support.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 11:38:39 +00:00
Hugo Santos
73f1548be1
some getsockopt/setsockopt and multicast fixes.
...
* allow an ipv4 bind() to a multicast address.
* bumped getsockopt/setsockopt kernel driver buffers to 256 bytes to at least handle structures which take one sockaddr_storage.
* convert generic multicast delta API names to IPv4 ones before handling the specific option.
* changed ipv4_getsockopt/ipv4_setsockopt a bit as the code gcc 2.95 was generating was a bit too funky.
* properly pass setsockopt/getsockopt to handling protocols.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 19:42:12 +00:00
Hugo Santos
75f1f9e04a
added two more test multicast applications: multicat/multisend. sockaddr_in6/in6_addr must be visible through <netinet/in.h>, fixed that as well.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:56:58 +00:00
Hugo Santos
0086fe2095
possibly fix to #1190 , the endpoint wasn't being unlinked on Free().
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:04:38 +00:00
Hugo Santos
57967505c2
fixed getsockopt/setsockopt callchains. also fixed the cleanup of multicast filters.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:32:08 +00:00
Hugo Santos
3df919a7a0
added 'ipv4_multicast' debugger command.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:31:57 +00:00
Hugo Santos
a3debe29d7
simple test multicast application.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:31:47 +00:00
Hugo Santos
0e30c21c70
ipv4: changed the multicast filter to use an hash table to keep source states.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:31:31 +00:00
Hugo Santos
8cfe0be38e
slab/cache: a couple more fixes.
...
- on CACHE_DURING_BOOT init benaphore count with 1.
- account for allocated space on early_allocate_pages.
- fixed slab position calculation in small slabs.
- we can now init all allocator sizes early rather than later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 01:08:05 +00:00
Hugo Santos
698b6d7195
cache/slab: when CACHE_DURING_BOOT is specified, use vm_allocate_early to obtain pages for slabs, and create the associated areas on post bootup.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 22:58:46 +00:00
Hugo Santos
39af445966
added object_cache_reserve to allow cache users to pre-allocate slabs.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 21:45:23 +00:00
Hugo Santos
11debaf6e4
added CACHE_UNLOCKED_PAGES flag to allow caches' pages to be created with no locking instead of full locking.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 20:55:44 +00:00
Hugo Santos
6b783773bf
use OpenHashTable in IPv4's MulticastGroups.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 20:55:33 +00:00
Hugo Santos
15945a11c6
added 'tcp_endpoints' and 'tcp_endpoint' debugger commands.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 19:30:20 +00:00