You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For example, when the network gets congested, NFD will wrap Interest/Data packets in NDNLP packet with congestion markings. The python-ndn library currently discards such packets, and shows a warning message as follows:
WARNING:Unable to decode received packet
I have attached an example NDNLP packet here: packet.zip
NDNLP has a "critical vs non-critical TLV-TYPE" distinction. If you don't want to handle congestion mark, you can ignore it since it has a non-critical TLV-TYPE number. On the other hand, if you are unable to handle PIT token or fragmentation, you have to drop the packet as those have critical TLV-TYPE numbers.
Hello. I just pushed a patch.
Sorry for being late. After I upgraded my Mac, everything was broken ...
I have only tested it in the integration test, but not with NFD yet. (I need to reinstall NFD and fix possible problems which may take more time.)
Please check if it solves the problem or brings more bugs. Thanks
As of b5e60a6, the implementation is incorrect.
For example, if a fragmented packet arrives, this implementation would incorrectly accept this packet, despite that it lacks a reassembler.
Please see NDNLPv2 protocol for requirements on processing critical vs non-critical TLV-TYPE numbers. It differs from evolvability rules of NDN network layer packets.
This implementation does not handle fragmentation yet. Will be added later.
You missed the point. It's OK to not handle a certain NDNLPv2 field that has a critical TLV-TYPE number, but then the decoder MUST drop any NDNLPv2 frame that uses such field.
Activity
zjkmxy commentedon Nov 6, 2020
Will fix this ASAP.
yoursunny commentedon Nov 6, 2020
NDNLP has a "critical vs non-critical TLV-TYPE" distinction. If you don't want to handle congestion mark, you can ignore it since it has a non-critical TLV-TYPE number. On the other hand, if you are unable to handle PIT token or fragmentation, you have to drop the packet as those have critical TLV-TYPE numbers.
susmit85 commentedon Nov 13, 2020
Hi, can we please fix this? We don't want to rely on application retransmission since that adds to congestion.
zjkmxy commentedon Nov 13, 2020
I'm currently working on this. I'm sorry that this may take some time, but you will see it in several weeks.
app: Add more supports to NDNLPv2 (CongestionMark)
zjkmxy commentedon Nov 15, 2020
Hello. I just pushed a patch.
Sorry for being late. After I upgraded my Mac, everything was broken ...
I have only tested it in the integration test, but not with NFD yet. (I need to reinstall NFD and fix possible problems which may take more time.)
Please check if it solves the problem or brings more bugs. Thanks
yoursunny commentedon Nov 15, 2020
As of b5e60a6, the implementation is incorrect.
For example, if a fragmented packet arrives, this implementation would incorrectly accept this packet, despite that it lacks a reassembler.
Please see NDNLPv2 protocol for requirements on processing critical vs non-critical TLV-TYPE numbers. It differs from evolvability rules of NDN network layer packets.
zjkmxy commentedon Nov 15, 2020
This implementation does not handle fragmentation yet. Will be added later.
yoursunny commentedon Nov 15, 2020
You missed the point. It's OK to not handle a certain NDNLPv2 field that has a critical TLV-TYPE number, but then the decoder MUST drop any NDNLPv2 frame that uses such field.
encoding: fix typo and bugs in NDNLPv2