-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
transceiver buffer too small #1747
Labels
Area: network
Area: Networking
Platform: native
Platform: This PR/issue effects the native platform
Type: cleanup
The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
Milestone
Comments
Lotterleben
added
Platform: native
Platform: This PR/issue effects the native platform
Area: network
Area: Networking
Type: cleanup
The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
labels
Oct 1, 2014
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 6, 2014
This is a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 6, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 7, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 8, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 8, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 9, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 29, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
I guess the rationale behind setting the buffer to 3 in native was to behave similar like real radios. However, since the data rate on native is (or at least can be) much higher than in a real wireless environment, I think increasing this value is reasonable. Memory is not a real issue on native anyway. |
I see no problem with making native more "reliable" per default, will open a PR. |
^ I did. |
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Oct 31, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Nov 25, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Nov 25, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Nov 27, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Lotterleben
added a commit
to Lotterleben/RIOT
that referenced
this issue
Nov 27, 2014
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https:/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area: network
Area: Networking
Platform: native
Platform: This PR/issue effects the native platform
Type: cleanup
The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
Would it be possible to enlarge the transceiver buffer a bit (or provide different options, depending on the platform)? With AODVv2 and the current buffer size of nativenet, I am running into the following problem:
While Route Requests (RREQ) are broadcasted, they are answered with Route Replies (RREP), which are unicast. Because they are up against so many broadcasted RREQ (and other RREPs), about 2/3 of my RREQ are dropped because the transceiver buffer is full somewhere along the way towards the originating node, making route discoveries fail even in perfect environments (desvirt grid with 0% lossrate).
This happened with each node of a 4x4 grid starting a route discovery every 1-180 seconds.
The text was updated successfully, but these errors were encountered: