usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

X440 RFNoC Local Configuration, Remote Data

BP
Brian Padalino
Fri, Apr 18, 2025 9:18 PM

Are there any examples of the X440 RFNoC configuration being set up locally
on the Arm to be able to accept CHDR packets over the dual 100 Gbe
interface?

I imagine it shouldn't be too difficult since the 1Gbe management port is
used with MPM to configure RFNoC so it seems very similar (configure on one
port, listen on a different one). I am just not sure what runtime
configuration items might need to be "fixed" in the local application such
that the machines out-of-the-loop can still talk with the device.

Any pointers or suggestions on how to accomplish this would be greatly
appreciated.

Thanks,
Brian

Are there any examples of the X440 RFNoC configuration being set up locally on the Arm to be able to accept CHDR packets over the dual 100 Gbe interface? I imagine it shouldn't be too difficult since the 1Gbe management port is used with MPM to configure RFNoC so it seems very similar (configure on one port, listen on a different one). I am just not sure what runtime configuration items might need to be "fixed" in the local application such that the machines out-of-the-loop can still talk with the device. Any pointers or suggestions on how to accomplish this would be greatly appreciated. Thanks, Brian
BP
Brian Padalino
Mon, Apr 21, 2025 11:28 PM

Answering myself partially, I see there is a concept of Remote Streaming:

https://uhd.readthedocs.io/en/latest/page_stream.html#stream_remote

The example goes over how to set it up for RX streams, but not for TX
streams. Is it not required for that direction since the USRP is sensitive
to all packets destined for its address?

I assume the application on the receiving side just opens the UDP port and
uses the uhd::utils::chdr::chdr_packet class to dissect or create
the packet that just gets sent over the socket?

Lastly, the example uses MultiUSRP - is it all the same for an RFNoC
implementation? Create the graph, commit it, issue the command?

Using the chdr_packet class, is there a way to know the endpoint ID to put
into the header for the TX side of things? Is that fixed and something I
could see from uhd_usrp_probe --tree?

Sorry for all the questions, I appreciate any insights.

Thanks,
Brian

On Fri, Apr 18, 2025 at 5:18 PM Brian Padalino bpadalino@gmail.com wrote:

Are there any examples of the X440 RFNoC configuration being set up
locally on the Arm to be able to accept CHDR packets over the dual 100 Gbe
interface?

I imagine it shouldn't be too difficult since the 1Gbe management port is
used with MPM to configure RFNoC so it seems very similar (configure on one
port, listen on a different one). I am just not sure what runtime
configuration items might need to be "fixed" in the local application such
that the machines out-of-the-loop can still talk with the device.

Any pointers or suggestions on how to accomplish this would be greatly
appreciated.

Thanks,
Brian

Answering myself partially, I see there is a concept of Remote Streaming: https://uhd.readthedocs.io/en/latest/page_stream.html#stream_remote The example goes over how to set it up for RX streams, but not for TX streams. Is it not required for that direction since the USRP is sensitive to all packets destined for its address? I assume the application on the receiving side just opens the UDP port and uses the uhd::utils::chdr::chdr_packet class to dissect or create the packet that just gets sent over the socket? Lastly, the example uses MultiUSRP - is it all the same for an RFNoC implementation? Create the graph, commit it, issue the command? Using the chdr_packet class, is there a way to know the endpoint ID to put into the header for the TX side of things? Is that fixed and something I could see from uhd_usrp_probe --tree? Sorry for all the questions, I appreciate any insights. Thanks, Brian On Fri, Apr 18, 2025 at 5:18 PM Brian Padalino <bpadalino@gmail.com> wrote: > Are there any examples of the X440 RFNoC configuration being set up > locally on the Arm to be able to accept CHDR packets over the dual 100 Gbe > interface? > > I imagine it shouldn't be too difficult since the 1Gbe management port is > used with MPM to configure RFNoC so it seems very similar (configure on one > port, listen on a different one). I am just not sure what runtime > configuration items might need to be "fixed" in the local application such > that the machines out-of-the-loop can still talk with the device. > > Any pointers or suggestions on how to accomplish this would be greatly > appreciated. > > Thanks, > Brian >
NS
niels.steffen.garibaldi@emerson.com
Thu, Apr 24, 2025 7:14 AM

Hi Brian,

Remote UDP streaming is currently only supported for the RX streaming direction. TX Remote UDP streaming is currently not supported.

As far as I know, nothing has been announced regarding when TX Remote UDP streaming might be added.

Regarding RFNoC Remote streaming, it should be as you mentioned and be the same as MultiUSRP as far as I am aware.


Regards,

Niels.


Answering myself partially, I see there is a concept of Remote Streaming:

https://uhd.readthedocs.io/en/latest/page_stream.html#stream_remote

The example goes over how to set it up for RX streams, but not for TX
streams. Is it not required for that direction since the USRP is sensitive
to all packets destined for its address?

I assume the application on the receiving side just opens the UDP port and
uses the uhd::utils::chdr::chdr_packet class to dissect or create
the packet that just gets sent over the socket?

Lastly, the example uses MultiUSRP - is it all the same for an RFNoC
implementation? Create the graph, commit it, issue the command?

Using the chdr_packet class, is there a way to know the endpoint ID to put
into the header for the TX side of things? Is that fixed and something I
could see from uhd_usrp_probe --tree?

Sorry for all the questions, I appreciate any insights.

Thanks,
Brian

Hi Brian, Remote UDP streaming is currently only supported for the RX streaming direction. TX Remote UDP streaming is currently not supported. As far as I know, nothing has been announced regarding when TX Remote UDP streaming might be added. Regarding RFNoC Remote streaming, it should be as you mentioned and be the same as MultiUSRP as far as I am aware. \ Regards, Niels. --- > Answering myself partially, I see there is a concept of Remote Streaming: > > <https://uhd.readthedocs.io/en/latest/page_stream.html#stream_remote> > > The example goes over how to set it up for RX streams, but not for TX \ > streams. Is it not required for that direction since the USRP is sensitive \ > to all packets destined for its address? > > I assume the application on the receiving side just opens the UDP port and \ > uses the uhd::utils::chdr::chdr_packet class to dissect or create \ > the packet that just gets sent over the socket? > > Lastly, the example uses MultiUSRP - is it all the same for an RFNoC \ > implementation? Create the graph, commit it, issue the command? > > Using the chdr_packet class, is there a way to know the endpoint ID to put \ > into the header for the TX side of things? Is that fixed and something I \ > could see from uhd_usrp_probe --tree? > > Sorry for all the questions, I appreciate any insights. > > Thanks, \ > Brian