This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A3:应用层无法接收 UDP 广播数据、因为不监视 UDP 端口

Guru**** 2473260 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1462592/am62a3-the-application-layer-fails-to-receive-udp-broadcast-data-because-the-udp-port-is-not-monitored

器件型号:AM62A3

工具与软件:

测试环境:
用户自定义开发板
Linux 内核6.6
TISDK 10.1

服务器通过 Someip SD 发送报价消息(UDP 广播数据),网卡可以接收它,因为我可以通过 tcpdump 指令捕获它,但端口不受监控,所以数据不会传输到上层,导致通信失败,我做了下面的测试来验证,请参考下图

内核或 TCP/IP 堆栈如何解决此问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    您能介绍一下自己的测试设置吗? (即、您的定制电路板是直接连接到链路伙伴还是通过开关连接? 连接方是 Linux PC、另一个运行 Linux 的 EVM/板还是其他一些器件?)

    [quote userid="628453" url="~/support/processors-group/processors/f/processors-forum/1462592/am62a3-the-application-layer-fails-to-receive-udp-broadcast-data-because-the-udp-port-is-not-monitored 服务器通过 Someip SD 发送报价消息(UDP 广播数据),网卡可以接收该消息,因为我可以通过 tcpdump 指令捕获它,但该端口没有被监控,因此数据不会传输到上层,导致通信失败

    您能解释一下如何确定数据不传输到上层吗? 您看到的通信错误消息是什么? 在您的屏幕截图中没有看到此信息。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../udp_5F00_server.ce2e.ti.com/.../udpclient.c

    上面是我为验证编写的测试程序,客户端代码 udpclient.c 在 recvfrom 中被阻止,但通过 tcpdum -i eth0 UDP 端口30499,您可以看到板收到 UDP 数据广播包,表明数据被发送到网卡,但不传输到应用层。 然后、我的电路板终端执行命令 ip addr add 239.127.3.1/24 dev eth0、服务器和客户端可以进行通信、当然、我也可以修改上述演示代码、因此即使没有执行上述命令、也可以进行通信。 我想知道在哪里可以实现电路板网络配置、比如执行命令 ip addr add 239.127.3.1/24 dev eth0

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    与较低级别的以太网(CPSW)驱动程序的特定问题相比、您的查询似乎更特定于应用。 请注意、我们不针对特定于应用的查询提供具体支持、而专注于为特定于 TI 的驱动程序提供支持。 特定于 应用程序的问题、如创建应用程序(在您的情况下为 udpclient.c)以打开端口以接收 UDP 数据包等、并非 TI 特有的问题。

    我可以建议的一件事是检查在/proc/net/snmp 中、预期的 UDP 数据包会在这些统计信息中递增。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好、谢谢、我明白了