Inquiry about implementing a filtering function in Corundum

63 views
Skip to first unread message

Chenqi Zhang

unread,
Jul 21, 2023, 12:18:34 AM7/21/23
to corund...@googlegroups.com

Dear Alex,

I hope this email finds you well. My name is Zhang Chenqi, a graduate student from China, currently conducting research on incorporating Corundum into my project. I am facing a question and would appreciate your guidance on this matter.

To give you some context, I have successfully configured Corundum on two servers, and they can communicate with each other as they respond to pings. Now, I have a specific requirement: On server A, there is a 10GB file containing numbers ranging from 0 to 100. My objective is to implement a filtering functionality using Corundum on server A, so that when using tools like netcat to send this file to server B, all numbers greater than 50 are filtered out, and only the numbers less than 50 are received by server B.

I am curious to know whether this logic can be achieved through Corundum. If it is possible, could you kindly guide me on how to achieve this functionality and where to incorporate the relevant logic in the Corundum codebase?

Your expertise in this matter would be of great help to me, and I would be truly grateful for any assistance you can provide.

Thank you for your time and consideration.

Best regards, Zhang Chenqi




Mailtrack Sender notified by
Mailtrack 23/07/21 12:16:32

Leon Woestenberg

unread,
Jul 21, 2023, 5:34:35 AM7/21/23
to Chenqi Zhang, corund...@googlegroups.com
Hello Zhang Chenqi,

I'm not Alex, but I'm using Alex's Corundum work to also modify the packets, so I can tell you about the general approach.

Corundum has the "app" section, where you can drop in your RTL module, and it will give access to most, if not all, of the interfaces.
Including the packet interface, which is an AXI Streaming interface with TDATA, TKEEP and TUSER. These are Ethernet packets, so typically with Ethernet, IP, and probably UDP or TCP header (or maybe some other protocol stack on top of Ethernet or IP?).

For your example, you mention filtering out certain values from the traffic. I am assuming Ethernet/IP/UDP here, but I cannot tell from your email.
This means you would have to modify the UDP payload, and potentially make the packets smaller as you discard filtered-out numbers.
Maybe even delete complete packets if all numbers filter-out completely. (or make the UDP payload zero-sized)

As long as you comply with the AXI Streaming interface, and have the TKEEP '1' signals contiguous, you should be fine.
This is much easier to do on the RX than on the TX side, as on the TX side, there are packet tags you also have to administer. Especially if you drop packets.
There is the documentation, the simulation and of course the Zulip forum, where you should also be able to find previous topics on this.

Regards,

Leon.





--
You received this message because you are subscribed to the Google Groups "corundum-nic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to corundum-nic...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/corundum-nic/CAHtL9hcFaRa5FAa-GXy4jjsuMp2LrdO8vhx5nF7Jjnvh3myk3g%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages