We have no use of configuring cc2520, at built time at least, in
promiscuous mode. So let's get rid of these options for the new driver.
Change-Id: I17611c43bc7ba7961831beaa47cc4e2371f8de61
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
No need to store the nbr pool data into a dedicated section
as we have only one nbr pool defined.
Change-Id: I6f2afcce57b5f588878496bf085567b938e32c80
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Provide a generic API for managing routing entries in the system.
Change-Id: I917a2deaafe3f340a2852ec190817ed27b3d4d7b
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Print allocation/deallocation caller in order to find neighbor
leaks.
Change-Id: Ib383f82043a9aba44768774c5acfeb81f076a960
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Print the lladdr index value if it is over the limit. This helps
debugging.
If lladdr is not known, then print "<unknown>" instead of
link layer address with all bits zeros.
Change-Id: If9926c1cde0540746254cff115bb5b7001e96143
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
If the reachable timer expires and if the neighbor has been
removed already, then do not try to access neighbor data via
a null pointer and crash.
Change-Id: I6d9a96f3fd2a20d4897509ebb9ad48bc455a51da
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Add utility function net_ipv6_nbr_lookup_by_index() which
returns neighbor that is using certain link layer address
specified by a link layer index value.
Change-Id: I1dad3d9eacd8358428b77b8fe53c5306d391e1ef
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
One parameter was not documented.
Typos fixed in parameter description.
Change-Id: I6007a2dc7548e30e09347374df7e510a1fd27b9d
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Explain how to use net_context connectivity API.
Change-Id: Ifa57af3e05ca424dfbd30a17608a1dd59646caf9
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This document describes the network stack architecture of the
new IP stack.
Change-Id: I19f7c77c66115e6453bcde0d41bb7cada3efc5e1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This fixes bug setting incorrect long ieee802154 address and also
print address in BE byte order the same way as for Linux.
Change-Id: I774301e992372588dffa6ce5964fb119642a0a0d
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
It's an empty beacon frame, juste to validate the Beacon frame parsing
logic.
Change-Id: I90916eb87187c9eae9b2267f34dc93bee554d4b5
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Such frames will be the corner stone to deal with PAN.
For now, it only validates such frame, verifying the FCF and the whole
length.
Change-Id: I8a441911d658d35abebf690e70a69337fc26d851
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
MAC adress is BE, but IEEE 802.15.4 address is LE. Since we generate the
later on the first one, we need to reverse the MAC address.
Change-Id: I9bab4cf91494276e7cd4ea09290e82c477a43646
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Address state is preferred when adding it to interface. State might
get change as per lifetime(limited/infinite) (e.g. expiry or renewal
period). Handle it properly.
Change-Id: I0e663171a125b0895b4574cd6ea147d0148ef8c6
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
In-case of DHCPv4 IP address negotiation message time frame,
interface doesn't have any assigned IP address. All the packets
will be dropped.
DHCPv4 client listens on server port(67) client port(68). Client
service will register a listener and listens on those ports. So
update the checkpoints accoring to it.
Change-Id: Ib046a4e1150c6b2277b0c06614970a619d0be589
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
In case of broadcast or multicast destination address, ARP
message is not required. But ethernet_send assumes net_arp_prepare()
returns ARP buffer and doesn't fill any LL header information in
all fragments.
So checking whether destination address is broadcast or multicast
in ethernet and fill LL headers according to the case. Lets assume
if net_arp_prepare() returns success means that is ARP message.
Change-Id: If5909d04d993b1690ae44cd9f5af43b8346d3a72
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Multipackets support not handled perfectly and breaks regular
flow on some occasions. So remove this support and have to
implement properly.
Change-Id: I1b72c66479c3516df6e6e93998edff1260eb839d
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
If ethernet address is broadcast or multicast, l2 layer does not
send any ARP messages. Handle this scenario in ethernet tests.
Change-Id: I8e11832803e1539887152447090d1286c7fa3eb0
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
If the connection establishment has an error, the accept
callback needs to be able to return that error to user space
so that the application can know about it.
This is especially important in TCP where application needs
to start to listen again if reset is sent during connection
establishment.
Change-Id: I55f36e4f101c7237c1288f09baf6e602b33da2b3
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
So we can easily access TCP buffer that is stored
in net_buf.
Change-Id: I37ae728be45ded2fcc74735592d94897c945afbe
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This will remove given amount of data from the fragment list.
Change-Id: I17d809982af0b941f957205688ee61e5ac3c1f08
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This is needed because if there are more than one network
interfaces configured, then the second interface will point
to wrong address. Only solution to this issue is to align
the net_if to 32 byte boundary. The issue was seen in qemu
and it is not really known if the issue is present in real
hardware.
Change-Id: I2048c8a9a0aab51f84c15539159410b544f6c9b1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Print the link layer header in different color so that the
actual IP payload in packets are easier to see. Also the
link layer header of the first packet was not printed.
Change-Id: I99699d378ae28d6d90c683c646c904c926b7dd06
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Make sure that the statisitics compilation can be done even
if some sub-statistics module is not compiled, like IPv6 or
IPv4 statistics.
Change-Id: I1a91acd70569f074d9bb3269f74ee9c6a0ea9cf7
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Some of the DEBUG options for the new IP stack still used
the CONFIG_NETWORK_IP_STACK_DEBUG_ prefix.
Change-Id: I8f039ac5e303a7c571a870403ce17d758db540d5
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Implementing the primitives for non-slotted CSMA-CA radio protocol
according to section 5.1.1.4 in the 2011 version of the specification.
Slotted version will come when Beacon frame will be supported, thus
getting PAN coordinator info from its superframe.
Change-Id: I0545ed953a3c48e6b8e9cd4082db01ed66ad098b
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
These will be used by other radio protocol, such as CSMA-CA.
Change-Id: I8b308c0376e5e26ae35fbbb4a0a7f99228fa2529
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
It can parse newer version's FCF, but it will generate only 2006 ones.
Change-Id: Ib635cc5840505af891a802da8fc6f3ee95478916
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This will use the dedicated UART pipe driver to send/receive IEEE
802.15.4 "radio" frames.
- make
On one console:
- make qemu1
On a second console:
- make qemu2
Note:
net-tools is needed, cloned into net/tools
https://gerrit.zephyrproject.org/r/#/admin/projects/net-tools
Change-Id: I833cd40238b0653bb5b9a9b462fb4d5d2a3504b9
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
- net tools directory is now in net/tools
- fixing the 80 chars line limit
Change-Id: I079880fa3449beffb326369ab23550dcba3ccf20
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
More samples will come. Current one is meant to test ieee802154 with
cc2520 on quark_se_devboard target. Some future sample will show how to
use the Qemu uart pipe fake 802.15.4 radio driver for testing on one
host.
Change-Id: Idea2b16cde091c7da926ca8aa71912fbfd0a3d62
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This driver is used for testing on Qemu where all "radio transmission"
will go through a pipe between 2 Qemus.
Change-Id: I5b4e75de82a98eb730ef9c70b460b4b60c0a60c3
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
If no IP stack is seleceted, selecting one of the 2 cc2520 driver will
automatically select the relevant stack.
Change-Id: Icca22da190dc790ce6d302e14c45732f902e02ae
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
- new stack options are renamed and placed in their respective menus
- new stack Kconfig gets normalized (tabs vs spaces, etc...)
Change-Id: Ia68f6589fed464bbdd76dc0812775684b2f94a58
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
- tabs are use to indent, no spaces.
- NET_TCP should be defined as an option, though non-promptable for now
Change-Id: I9c5e55e1ab5c82c906fb5650f5d1539c65de1194
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>