#
8844a67e |
| 11-Dec-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
More trivial syntax and logic cleanup.
Spotted by Clang. No functional change intended.
|
#
ff8c8dfc |
| 12-Aug-2015 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Improve patch in ticket #9377 Instead of locking the interface lock, set it busy and then unlock the interface list lock.
|
#
4ae58630 |
| 11-Feb-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Allow duplicates in the sAddressTable hash table; while it makes no sense to have duplicates there, it should certainly not panic. * Do not add unspecified addresses to the hash table. * The resu
* Allow duplicates in the sAddressTable hash table; while it makes no sense to have duplicates there, it should certainly not panic. * Do not add unspecified addresses to the hash table. * The result of adding the initial address of an interface was ignored; now, the interface is correctly destructed, if necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40444 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
88e38c17 |
| 16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replace uses of obsolescent BReference[able] API.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39870 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2c12b8a3 |
| 12-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Also report the address index back to the userland.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38059 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
910ffb32 |
| 12-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* If the network mask, and broadcast are not specified with a B_SOCKET_SET_ALIAS they will no longer be unset - instead they are set with defaults. * If B_SOCKET_SET_ALIAS gets an index of -1, it w
* If the network mask, and broadcast are not specified with a B_SOCKET_SET_ALIAS they will no longer be unset - instead they are set with defaults. * If B_SOCKET_SET_ALIAS gets an index of -1, it will now try to find the local address, and if that fails, will just use the first address there is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38053 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
7aa2819c |
| 03-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Enabled removing the interface on device removal again. * Made the return type of remove_interface() void, as it cannot fail.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37884 a95241bf-73
* Enabled removing the interface on device removal again. * Made the return type of remove_interface() void, as it cannot fail.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37884 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
2b1c0755 |
| 03-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Renamed the proprietary SIOC_* ioctls to B_SOCKET_* - no reason to pollute global name space, and have ugly identifiers for nothing :-) * Added a flags field to struct ifaliasreq. Added flags to
* Renamed the proprietary SIOC_* ioctls to B_SOCKET_* - no reason to pollute global name space, and have ugly identifiers for nothing :-) * Added a flags field to struct ifaliasreq. Added flags to mark an alias that is currently being configured, or has been automatically configured. Those flags aren't used yet, but they will replace IFF_CONFIGURING and friends. * Implemented deleting addresses only from interfaces via ifconfig. * Added more command aliases for delete to ifconfig ("del", and "delete", for more consistency with route). * Fixed control_routes() to only release a reference to an address if it actually got one before. * If an interface address is deleted, its routes are now removed as well. * InterfaceAddress now holds a reference to its interface as planned. * Implemented removing interfaces. Works quite nicely. * When downing an interface, all of its routes are now removed. When upping it again, at least the default routes are added. * datalink.cpp's get_interface_name_or_index() leaked a reference to the interface found. * SIOCAIFADDR would also leak a reference when new addresses were added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37872 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
cd08b9f7 |
| 02-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Work in progress of extending the AF_LINK protocol to be able to send and receive raw packets (only without the ethernet framing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37853 a952
* Work in progress of extending the AF_LINK protocol to be able to send and receive raw packets (only without the ethernet framing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37853 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
9d771afb |
| 29-Jul-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Added Haiku specific socket ioctls to configure the interface aliases: SIOC_IF_ALIAS_ADD, SIOC_IF_ALIAS_REMOVE, SIOC_IF_ALIAS_GET, SIOC_ALIAS_SET, and SIOC_IF_ALIAS_COUNT. * Implemented all of
* Added Haiku specific socket ioctls to configure the interface aliases: SIOC_IF_ALIAS_ADD, SIOC_IF_ALIAS_REMOVE, SIOC_IF_ALIAS_GET, SIOC_ALIAS_SET, and SIOC_IF_ALIAS_COUNT. * Implemented all of those new ioctls, though they are yet untested. * Added ifreq::ifr_data, and removed the hack in the FreeBSD compat if.h header. * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37806 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
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 ye
* 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
show more ...
|
#
a3ec278a |
| 15-Feb-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Made some internal lists use DoublyLinkedLists instead of struct list. * Added a few KDL commands to improve your debugging experience.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35469 a
* Made some internal lists use DoublyLinkedLists instead of struct list. * Added a few KDL commands to improve your debugging experience.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35469 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
3c13a5f5 |
| 16-Feb-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Renamed net_device_interface::rx_lock to receive_lock. * Cleanup, improved comments, removed useless ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29232 a95241bf-73f2-0310-859d-f6bbb5
* Renamed net_device_interface::rx_lock to receive_lock. * Cleanup, improved comments, removed useless ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29232 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
27e0dea9 |
| 11-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Actually implemented the SO_BINDTODEVICE socket option I added some time ago. * This makes it possible to select a specific device, even if no interface has been configured for it yet. To make it
* Actually implemented the SO_BINDTODEVICE socket option I added some time ago. * This makes it possible to select a specific device, even if no interface has been configured for it yet. To make it work, each interface now has a private direct route which will be returned if a socket is bound to a device. * This will be used for example in DHCP to make it work when more than one adapter is attached.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27983 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
be2f6ac3 |
| 23-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
net_device_interface: remove redundant fields
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21222 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
969885b8 |
| 23-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
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
|
#
a1deb55e |
| 23-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
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 lock
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
show more ...
|
#
64734690 |
| 08-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
whenever an interface is deleted, call put_domain_datalink_protocols() so all readers are unregistered.
- Unfortunely this requires RX lock to become a recursive lock.
git-svn-id: file:///srv/svn
whenever an interface is deleted, call put_domain_datalink_protocols() so all readers are unregistered.
- Unfortunely this requires RX lock to become a recursive lock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20621 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
e53357d5 |
| 08-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
Prepared net_device_monitor to accept device removal events.
- Introduced public net_device_monitor. - Changed the link protocol to maintain a lock per instance instead of inside the FIFO. Now all
Prepared net_device_monitor to accept device removal events.
- Introduced public net_device_monitor. - Changed the link protocol to maintain a lock per instance instead of inside the FIFO. Now all of the link instance data is protected. - Adapted the link protocol to use net_device_monitor. - Introduced a private Fifo class which doesn't maintain it's own lock. - Maybe we should add something like a public net_protocol_implementation which maintains a fifo and a benaphore? With the fifo using the structure's lock instead of maintaining it's own.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20614 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
fb300cfd |
| 08-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
introduced net_device_interface level locking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20611 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c64fecca |
| 06-Apr-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
started some work to properly handle device_removed() and setting interfaces down in general.
- remove all routes that use interfaces going down. - when a device is going down, remove associated d
started some work to properly handle device_removed() and setting interfaces down in general.
- remove all routes that use interfaces going down. - when a device is going down, remove associated domain interfaces. - interfaces weren't getting a properly referenced device interface, fixed. - down call down_device_interface when deleting a interface, instead set it down and let the upcounts do its job.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20600 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
9206bb37 |
| 04-Apr-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed ETHER_GET_LINK_STATE ethernet driver interface, added ETHER_SET_LINK_STATE_SEM. * The device interface list now uses class DoublyLinkedList instead of struct list. * Implemented SIOC[SG]IFM
* Changed ETHER_GET_LINK_STATE ethernet driver interface, added ETHER_SET_LINK_STATE_SEM. * The device interface list now uses class DoublyLinkedList instead of struct list. * Implemented SIOC[SG]IFMEDIA for setting (not supported by any device yet), and retrieving the device media information. * Fixed a locking bug in list_domain_interfaces(). * Added new stack function device_link_changed() that should be called in case the link state (media) changed. * The ethernet device module now spawns a thread and will periodically check the media state of all ethernet devices that support this (if any). * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20546 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
9c4477d3 |
| 01-Apr-2007 |
Axel Dörfler <axeld@pinc-software.de> |
SIOCGIFCONF will now also report the size of the written buffer in ifconf.ifc_len to cover the case the list of interfaces changed since SIOCGIFCOUNT was called. Patch by Hugo Santos.
git-svn-id: f
SIOCGIFCONF will now also report the size of the written buffer in ifconf.ifc_len to cover the case the list of interfaces changed since SIOCGIFCOUNT was called. Patch by Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20491 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
1a38ebd2 |
| 20-Mar-2007 |
Axel Dörfler <axeld@pinc-software.de> |
No longer crashes when deleting "certain" interfaces (couldn't reproduce the crash in Qemu for some reason).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20397 a95241bf-73f2-0310-859d-f6bbb5
No longer crashes when deleting "certain" interfaces (couldn't reproduce the crash in Qemu for some reason).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20397 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
de8a7c26 |
| 08-Jan-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Introduced a reader_thread member to the private net_device_interface. * When shutting down an interface, we now wait until its reader thread is gone, too; this is necessary in case the kernel un
* Introduced a reader_thread member to the private net_device_interface. * When shutting down an interface, we now wait until its reader thread is gone, too; this is necessary in case the kernel unloads the networking stack before the reader thread had a chance to exit. * Added some debug output to net_socket in case you ask for unknown options.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19741 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|