#
98166ebe |
|
15-Feb-2024 |
Augustin Cavalier <waddlesplash@gmail.com> |
network: Do not apply ethernet headers for loopback devices. This reverts large portions of e2b57695fc3ec43cad099ab3dd93bdd99e052761 and all of 4e9653027d9094f4d57fd294d46ce6eb461b697f, and adjusts the "tunnel" and "loopback_frame" handlers appropriately. Initially, this logic was added so that libpcap continued working; however, it seems that we can change some of the Haiku-specific code in libpcap and have it continue to operate without requiring such ethernet headers to be appended. Fixes #18801. Change-Id: Ie06908affde894ad1516fbc27e06298309a4e082 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7403 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
4e965302 |
|
18-May-2023 |
Jérôme Duval <jerome.duval@gmail.com> |
net_stack: for local delivery, also capture packets when enabled the packet capture expects frames: prepend an ethernet header for the capture. Change-Id: I3d09da2a5a6924a545cc4fbc9dd1577bd3248226 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6452 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
61729d93 |
|
28-Jul-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Reworked the complete stack to allow more than one address per network interface - this caused quite a number of changes. * Network interfaces, and its addresses are now reference counted (not yet complete, though, InterfaceAddresses need to hold references to their interface as well). * There are two known regressions of this commit that I will fix later: - you cannot remove interfaces anymore - IPv4 multicast was broken anyway, but now it's disabled, too. * Moved a device_interfaces.cpp|h out of interfaces.cpp. * The datalink layer chain is now instantiated per domain per interface, not just per interface anymore. * When a buffer reaches the network layer, it has no known interface yet, ie. the ipv4|6|whatever modules need to set this manually. * Added more debug output, and some new debugger commands, the control option is now printed in clear text. * Added hash_address() function to the address modules. Added "const" to set_to_defaults() where needed. * Fixed net_buffer's restore header functions offset use as reported by Atis. * Improved buffer dump output, use the domain module to print the address if available. * Moved net_buffer::type into the union, as it's not needed by the upper layers anymore. * Moved IPv6 specific code from {add|remove}_default_route() to where it belongs, but disabled it for the time being. * Completely discarded useless ipv4_datagram module. * Added ping6 to the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37794 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d869a061 |
|
19-Jul-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the stack send out interface change notifications where needed (at least hopefully :-)). * Improved interface change notification to include the flags that changed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37594 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d68ffded |
|
27-Dec-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* More or less completed the network notification module - it does not remove old invalid user listeners yet, though (ie. if a team dies). * Implemented userland network monitor functions. * Added a few notifications to the network stack, even though this part isn't complete yet (especially notify_interface_changed()). * Added optional debug output to the notifications module. * Added the module to the image, it basically works now (tested). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e6dd439f |
|
09-Dec-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Work-in-progress of a network notification implementation. * Compiles, but doesn't work at all yet. For those who wonder: the networking notifications are put into a separate module, so that the network stack can be unloaded without losing connection, IOW user applications will continue to retrieve notifications when the stack is loaded again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28790 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df50f7a9 |
|
10-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed the way the socket functions work: - The net_stack driver is no longer used. Instead we have a kernel module which is directly used by syscall implementations in the kernel. I.e. we no longer tunnel those functions through ioctls, but have normal syscalls. - Removed the superfluous net starter module. - Implemented the FDTYPE_SOCKET type file_descriptors, that is sockets are no longer vnode based. - Adjusted libnetwork (the socket function implementations) accordingly. - Adjusted netstat accordingly. * Socket module: - Implemented socketpair(). - Added "kernel" parameter to the control hook. Quite a few more hooks would actually need the parameter, but I didn't change those yet, since that would probably also require changes to the protocol module interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24908 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
157da1cd |
|
22-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* net_buffer is a module, so it shouldn't have its initializers called indirectly by the stack - they are now again usable separately as well. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
457b03ec |
|
26-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
net_buffer is the first user of the new slab allocator, let's see how it goes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20834 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bfb45f71 |
|
12-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
introduced a new helper class DatagramSocket which provides a consistent base interface and functionality for the implementation of datagram-based sockets. - made the ipv4 raw, udp and link protocols use DatagramSocket. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20672 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c22d69bf |
|
08-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Completed the previous commit and merger of the team/network/new_stack branch. * Removed ppp_up and pppcontrol from the image for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18457 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61729d9323a555b9025ef6ebeb85dc1627f8acf7 |
|
28-Jul-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Reworked the complete stack to allow more than one address per network interface - this caused quite a number of changes. * Network interfaces, and its addresses are now reference counted (not yet complete, though, InterfaceAddresses need to hold references to their interface as well). * There are two known regressions of this commit that I will fix later: - you cannot remove interfaces anymore - IPv4 multicast was broken anyway, but now it's disabled, too. * Moved a device_interfaces.cpp|h out of interfaces.cpp. * The datalink layer chain is now instantiated per domain per interface, not just per interface anymore. * When a buffer reaches the network layer, it has no known interface yet, ie. the ipv4|6|whatever modules need to set this manually. * Added more debug output, and some new debugger commands, the control option is now printed in clear text. * Added hash_address() function to the address modules. Added "const" to set_to_defaults() where needed. * Fixed net_buffer's restore header functions offset use as reported by Atis. * Improved buffer dump output, use the domain module to print the address if available. * Moved net_buffer::type into the union, as it's not needed by the upper layers anymore. * Moved IPv6 specific code from {add|remove}_default_route() to where it belongs, but disabled it for the time being. * Completely discarded useless ipv4_datagram module. * Added ping6 to the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37794 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d869a0617212728ef3f8fa945673b925939b08d4 |
|
19-Jul-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the stack send out interface change notifications where needed (at least hopefully :-)). * Improved interface change notification to include the flags that changed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37594 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d68ffdedc04d63f83d407b194a54de3095cacc06 |
|
27-Dec-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* More or less completed the network notification module - it does not remove old invalid user listeners yet, though (ie. if a team dies). * Implemented userland network monitor functions. * Added a few notifications to the network stack, even though this part isn't complete yet (especially notify_interface_changed()). * Added optional debug output to the notifications module. * Added the module to the image, it basically works now (tested). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e6dd439f7c1c4b5e8b83362d93f891237e6a7d8a |
|
09-Dec-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Work-in-progress of a network notification implementation. * Compiles, but doesn't work at all yet. For those who wonder: the networking notifications are put into a separate module, so that the network stack can be unloaded without losing connection, IOW user applications will continue to retrieve notifications when the stack is loaded again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28790 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df50f7a9b4b0bbe77413d722875b0a346c61d527 |
|
10-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed the way the socket functions work: - The net_stack driver is no longer used. Instead we have a kernel module which is directly used by syscall implementations in the kernel. I.e. we no longer tunnel those functions through ioctls, but have normal syscalls. - Removed the superfluous net starter module. - Implemented the FDTYPE_SOCKET type file_descriptors, that is sockets are no longer vnode based. - Adjusted libnetwork (the socket function implementations) accordingly. - Adjusted netstat accordingly. * Socket module: - Implemented socketpair(). - Added "kernel" parameter to the control hook. Quite a few more hooks would actually need the parameter, but I didn't change those yet, since that would probably also require changes to the protocol module interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24908 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
157da1cd6e329a107d5a1fddd644cdab280a779e |
|
22-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* net_buffer is a module, so it shouldn't have its initializers called indirectly by the stack - they are now again usable separately as well. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
457b03ecb40c3317bd31df1f2ef4ff01b38007e8 |
|
26-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
net_buffer is the first user of the new slab allocator, let's see how it goes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20834 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bfb45f717c648c5cd68e84c8ca1f805d099ba3c5 |
|
12-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
introduced a new helper class DatagramSocket which provides a consistent base interface and functionality for the implementation of datagram-based sockets. - made the ipv4 raw, udp and link protocols use DatagramSocket. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20672 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c22d69bf1f5f60f7ebddd79108a53c8f97f300fe |
|
08-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Completed the previous commit and merger of the team/network/new_stack branch. * Removed ppp_up and pppcontrol from the image for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18457 a95241bf-73f2-0310-859d-f6bbb57e9c96
|