-
Notifications
You must be signed in to change notification settings - Fork 26
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
Forwarder interoperability with Ixia traffic generator #82
Comments
Please upgrade to latest version.
Please upload as .pcap or .pcapng next time so that it's easier to analyze.
This indicates that the packet was transmitted, so there's no problem?
This behavior is by design. |
Thanks for your kind reply. If the forwarder settings are not a problem, then I guess NDN-DPDK may have modified the interest packet format, making it unrecognizable by Ixia. Because Ixia cannot capture the packets of txInterests, I wonder if there is a way to capture txInterests packets in Linux or through NDN-DPDK itself. |
Close this issue by mistake, now reopen it. |
NDN-DPDK does not modify the Interest format. The forwarder can modify the Interest packet, such as:
Yes, you can try one of these methods:
|
I assigned a pdump role, but no pcap files were generated. $ jq -n '{
> eal: {
> coresPerNuma: { "0": 8 },
> lcoresPerNuma: { "0": 16 }
> },
> lcoreAlloc: {
> RX: { "0": 4 },
> TX: { "0": 4 },
> FWD: { "0": 6 },
> PDUMP: { "0": 1 }
> },
> mempool: {
> DIRECT: { capacity: 1048575, dataroom: 9146 },
> INDIRECT: { capacity: 1048575 },
> }
> }' | ndndpdk-ctrl activate-forwarder
true
$ ndndpdk-ctrl create-eth-port --pci d9:00.0 --mtu 1500
{"id":"R34DS7L7ROVLS","isDown":false,"macAddr":"10:70:fd:11:10:4e","mtu":1500,"name":"0000:d9:00.0","numaSocket":0}
$ ndndpdk-ctrl create-eth-port --pci d9:00.1 --mtu 1500
{"id":"R34DS7L7ROVLU","isDown":false,"macAddr":"10:70:fd:11:10:4f","mtu":1500,"name":"0000:d9:00.1","numaSocket":0}
$ ndndpdk-ctrl create-ether-face --local 10:70:fd:11:10:4e --remote 4c:d9:8f:2c:e3:12
{"id":"RFETAFVOJ8PLHCSK"}
$ ndndpdk-ctrl create-ether-face --local 10:70:fd:11:10:4f --remote 4c:d9:8f:2c:e3:14
{"id":"RFETAFVOJ4Q5DFCL"}
$ ndndpdk-ctrl insert-fib --name /ndn/video/live/202310072149 --nh RFETAFVOJ4Q5DFCL
{"id":"RFAT87TCRHRHFCDDBKQJ4N4Q0SON2O87QCDAQHBUFK6MV1EJLUS46B3MDNPRRFALF8"}
$ ndndpdk-ctrl pdump-face --face RFETAFVOJ8PLHCSK --filename ndndpdk.pcap
{"filename":"ndndpdk.pcap","id":"PNCC6DTIVTRGFVU05HGME","worker":{"id":"PB9S8CD7R8VLG","nid":6,"numaSocket":0}}
{"dir":"RX","face":{"id":"RFETAFVOJ8PLHCSK","locator":{"local":"10:70:fd:11:10:4e","remote":"4c:d9:8f:2c:e3:12","scheme":"ether"}},"id":"PNCC6DTITPI0RRNM64N28KFN71QISCQQHKVVMS8"}
{"dir":"TX","face":{"id":"RFETAFVOJ8PLHCSK","locator":{"local":"10:70:fd:11:10:4e","remote":"4c:d9:8f:2c:e3:12","scheme":"ether"}},"id":"PNCC6DTITPI0RRNM64N28KFN71QISCQQHKVVQS8"}
traffic dumper running, press CTRL+C to stop
^Ctrue
true
$ ndndpdk-ctrl get-face --cnt --id RFETAFVOJ8PLHCSK
{"counters":{"rxData":0,"rxFrames":11,"rxInterests":11,"rxNacks":0,"txData":0,"txFrames":0,"txInterests":0,"txNacks":0},"id":"RFETAFVOJ8PLHCSK","locator":{"local":"10:70:fd:11:10:4e","remote":"4c:d9:8f:2c:e3:12","scheme":"ether"}} I haven't found any more instructions on how to use the pdump role, so I'm not sure if I've set it up correctly. |
The file is indeed generated.
The instructions are provided as part of GraphQL API. |
For the incoming packet:
For the outgoing packet, the difference is much more than the removal of "junk".
You need to make your traffic generator recognize the NDN packet format, not just matching on byte patterns. |
As for now, By directly commenting and adding some codes, I have implemented the forwarding of interest packets and forwarding data packets manufactured by Ixia along the reverse path. The main modifications are as follows: For Interest packets:
For Data Packets:
Currently, only one name is being tested. To ensure that Data and Interest carrying this name more conveniently enter the same forwarding thread, the dispatch algorithm in Surprisingly, after reducing the computational complexity of CS and other functionalities, the Data forwarding rate of one forwarding thread in NDN-DPDK (around 8000 pps) is significantly lower than the forwarding rate mentioned in the paper (around 2 Mpps). I would like to know if there are methods to enhance the forwarding performance of NDN-DPDK in this Ixia env to achieve the performance stated in the paper. |
After these modifications, the forwarder is no longer conforming to the NDN protocols. |
As shown above, my env is similar to Issue#66, where NDNDPDK is activated as a forwarder and connected to an Ixia traffic generator. The NIC is also MT27800 Family [ConnectX-5] 1017, and Linux is 22.04. The NDN-DPDK version is set to 0c34e8b5abb312b6d82bf59395516767bc6f1c72 to be compatible with DPDK 22.07 installed on the server.
NDN interests are generated by Ixia and sent to port 0 (70NI3INGUPHD4), received by the face (7CT2LQTFMLGDLUDF) on port 0. Then, it is forwarded back to Ixia by the face (7CT2LQTFMPMD9UG) on port 1 (70NI3INGUPHD6). However, Ixia does not receive the interests forwarded back by port 1 as expected.
The content of the NDN interests is as shown in the figure below:
And the input cmd and output information are as follows:
In addition, as shown in the figure below, I also tried to forward interests from a single port. The result showed that port 0 forwarded out NACKs, which seems to be because the name did not match.
I wonder if I have made mistakes in my NDN-DPDK settings.
The text was updated successfully, but these errors were encountered: