2016-02-15 6 views
0

Я использую LWIP в приложении, которое требует высоких скоростей передачи данных. Поэтому я выделяю 4 pbufs один раз и сохраняю их адрес и с помощью некоторой аппаратной магии, заполняю их один за другим и сообщаю программе, что буфер готов, и программное обеспечение отправляет его как UDP-пакеты, как когда-либо через некоторое время, когда я обнюхаю пакет I имеют около 60 дополнительных байтов в моем пакете, они кажутся дополнительными заголовками UDP, но в полезной нагрузке. любое обходное решение/предложение?LWIP PBUF, дополнительные байты при отправке UDP?

ответ

0

В моем проекте на работе у нас была коррупция pbuf, которая вызывала подобный вопрос. Мы использовали несколько MAC разных типов от xilinx, и в отделе pbuf было несчастье. То, что я бы рекомендовал вам, это включить полную отладку lwip для уровня IP и, возможно, слоя UDP. Затем вручную обрезайте отпечатки на что-то управляемое, которое воспроизводит проблему (lwip имеет минимальный уровень печати - вы можете использовать это, чтобы помочь обрезать такие вещи, как предупреждение против серьезных отпечатков). В нашем случае мы получим ошибки контрольной суммы уровня UDP или IP, и это было признаком плохих вещей. Кроме того, полезно тестировать только в одном направлении за раз, чтобы ограничить возможности плохого материала в одном направлении. Мы использовали примеры iperf из xilinx и расширили их. Это помогло устранить проблему. BTW 4 pbufs - ничто ... Когда я посмотрел на трафик в сети - есть тонна вещей, накладные расходы и т. Д. Существует множество потенциальных проблем, из-за слишком небольших записей в ARP-таблице и ... Четыре pbufs крайне изменчив, если вы оказались в ловушке для памяти, мне жаль, что вы пытаетесь использовать lwIP. Это просто похоже на кошмар. Кроме того, будьте осторожны, что обычно отпечатки блокируются ... так что это испортит производительность. Разумно заменить отладочные отпечатки lwip с помощью неблокирующей процедуры, которая, как вы знаете, не будет забивать вашу производительность в реальном времени.

Смежные вопросы