History log of /haiku/src/add-ons/kernel/network/protocols/l2cap/l2cap_address.cpp
Revision Date Author Comments
# 269ebc04 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fix #6373, second try
* make BDADDR_* macros refer to value types instead of addresses
* adjust all interfaces using bdaddr_t* to use (mostly const) refs instead,
which IMHO makes the interface & code clearer
* that got rid of a couple of const incorrectness casts
* some cleanup along the way


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38265 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 32a2294f 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* revert r38213, as it introduces initialization problems

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38263 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0ef6475 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix #6373 by switching the BD... macros to take the address of corresponding
constants, which had to be defined in several places in order to be available
in the kernel addons, network protocols and the server/kit.
* enable -Werror for all servers

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38213 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d41aff0 29-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Made sure is_empty_address() also detects AF_UNSPEC addresses as empty.
* The is_empty_address() function of AF_UNIX did not deal correctly with empty
addresses.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37804 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 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


# b216fbd0 28-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Applied next work in progress patch by Atis that takes into account most of
my comments so far. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37793 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d1485fa 19-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

Work in progress commit by Atis Elsts (I'm posting his ChangeLog comments
directly here), I made only a few style changes:
* introduced 'has_broadcast_address' field in
struct net_address_module_info
- REVIEW: the name, and the status of this field for UNIX and L2CAP
families
* ipv6 address family support
* ipv6 address printing
* ipv6 protocol support
* ipv6 multicast support
- TODO: add and remove multicast routes in a more proper way
- TODO: support MLD
* ipv6 datalink protocol support
* icmpv6 protocol support (EchoRequest and EchoResponse messages)
* ipv6 neigbor discovery protocol support
(Advertisement and Solicitation messages)
- TODO: only the very basic support is present,
the protocol state machine is by no means completed
- TODO: replying to Solicitation does not work too good ATM
(visible, when pinging Haiku from outside)
* added Jenkin's hash algorith
* minor changes in existing IPv4 code - cleanup function
ipv4_get_loopback_address(), written by myself
* add tests: raw, udp, tcp/udp, mullicast sender
* add 'hoplimit' field in struct net_buffer
- TODO: this is just a hack, more generic approach would be better.
* add 'receive_data' function pointer in
struct net_datalink_protocol_module_info
- TODO: this is also more like a hack, to support information
passing from ICMPv6 to IPv6_datagram level.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37604 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a5bf1237 14-Jun-2010 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

*Incorrect endianess handling from bdaddr at parsing from string.
*Remove bluetooth_util deprecated header
*Issue conn_req for socket connect() call



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab1a4bef 12-Apr-2010 Oliver Tappe <zooey@hirschkaefer.de>

cleaning up after myself 4 years later:
* remove matches_broadcast_address slot in address module, as it
doesn't exist anywhere
* automatic whitespace cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56f097eb 12-Apr-2010 Oliver Tappe <zooey@hirschkaefer.de>

Applying patch by Atis Elsts:
* fix connecting to INADDR_ANY work for tcp (effectively will
connect to INADDR_LOOPBACK)
* add same behaviour to udp
* move some ipv4-specific code out of tcp into ipv4 address module
* bind() and connect() now reject addresses from non-matching
families
* myself: minor cleanup in udp.cpp with respect to 80 chars limit
Closes #5716 - many thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36192 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab563fc0 01-Jul-2008 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

Fix mail in header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26195 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c61dc72f 09-Jun-2008 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

- Add some traces
- Register the protocol
- Remove some AF_INET stuff

Although step by step will become the L2CAP protocol implementation, for the moment is just a testing and learning code.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25884 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3e248012 02-Jun-2008 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

L2CAP, without functionality, for the moment my playground in the netstack



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 269ebc04b9082e0081f3660bd727d9a6bc4a683d 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fix #6373, second try
* make BDADDR_* macros refer to value types instead of addresses
* adjust all interfaces using bdaddr_t* to use (mostly const) refs instead,
which IMHO makes the interface & code clearer
* that got rid of a couple of const incorrectness casts
* some cleanup along the way


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38265 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 32a2294fdc40a8ef9e3360aa85d0b7efb0c930b9 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* revert r38213, as it introduces initialization problems

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38263 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0ef64750f3169cd634bb2f7a001e22488b05231 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix #6373 by switching the BD... macros to take the address of corresponding
constants, which had to be defined in several places in order to be available
in the kernel addons, network protocols and the server/kit.
* enable -Werror for all servers

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38213 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d41aff0ac4d34429dfb17fc747fcf5aa18227d3 29-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Made sure is_empty_address() also detects AF_UNSPEC addresses as empty.
* The is_empty_address() function of AF_UNIX did not deal correctly with empty
addresses.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37804 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


# b216fbd0774446feb184ec1be17bb52bcbd75bbe 28-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

* Applied next work in progress patch by Atis that takes into account most of
my comments so far. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37793 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d1485fa06b26cb13b0417e3cdafd5b45520a567 19-Jul-2010 Axel Dörfler <axeld@pinc-software.de>

Work in progress commit by Atis Elsts (I'm posting his ChangeLog comments
directly here), I made only a few style changes:
* introduced 'has_broadcast_address' field in
struct net_address_module_info
- REVIEW: the name, and the status of this field for UNIX and L2CAP
families
* ipv6 address family support
* ipv6 address printing
* ipv6 protocol support
* ipv6 multicast support
- TODO: add and remove multicast routes in a more proper way
- TODO: support MLD
* ipv6 datalink protocol support
* icmpv6 protocol support (EchoRequest and EchoResponse messages)
* ipv6 neigbor discovery protocol support
(Advertisement and Solicitation messages)
- TODO: only the very basic support is present,
the protocol state machine is by no means completed
- TODO: replying to Solicitation does not work too good ATM
(visible, when pinging Haiku from outside)
* added Jenkin's hash algorith
* minor changes in existing IPv4 code - cleanup function
ipv4_get_loopback_address(), written by myself
* add tests: raw, udp, tcp/udp, mullicast sender
* add 'hoplimit' field in struct net_buffer
- TODO: this is just a hack, more generic approach would be better.
* add 'receive_data' function pointer in
struct net_datalink_protocol_module_info
- TODO: this is also more like a hack, to support information
passing from ICMPv6 to IPv6_datagram level.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37604 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a5bf12376daeded4049521eb17a6cc41192250d9 14-Jun-2010 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

*Incorrect endianess handling from bdaddr at parsing from string.
*Remove bluetooth_util deprecated header
*Issue conn_req for socket connect() call



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab1a4bef4f205a95a19424f85c38b4e5de65f37f 12-Apr-2010 Oliver Tappe <zooey@hirschkaefer.de>

cleaning up after myself 4 years later:
* remove matches_broadcast_address slot in address module, as it
doesn't exist anywhere
* automatic whitespace cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56f097ebd91d9b6369407d2bbfcc19718788d182 12-Apr-2010 Oliver Tappe <zooey@hirschkaefer.de>

Applying patch by Atis Elsts:
* fix connecting to INADDR_ANY work for tcp (effectively will
connect to INADDR_LOOPBACK)
* add same behaviour to udp
* move some ipv4-specific code out of tcp into ipv4 address module
* bind() and connect() now reject addresses from non-matching
families
* myself: minor cleanup in udp.cpp with respect to 80 chars limit
Closes #5716 - many thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36192 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab563fc0a595fe8031e767a8b153f75722c8fa49 01-Jul-2008 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

Fix mail in header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26195 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c61dc72f6c56b91f7d82838b85dc1c4debba202b 09-Jun-2008 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

- Add some traces
- Register the protocol
- Remove some AF_INET stuff

Although step by step will become the L2CAP protocol implementation, for the moment is just a testing and learning code.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25884 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3e248012835bd421230236f862462140722cc1bb 02-Jun-2008 Oliver Ruiz Dorantes <oliver.ruiz.dorantes@gmail.com>

L2CAP, without functionality, for the moment my playground in the netstack



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25768 a95241bf-73f2-0310-859d-f6bbb57e9c96