|
LwIP: Eth + GPRS(PPP) |
|
|
|
 |
Ответов
(1 - 13)
|
Jul 17 2017, 17:26
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(k000858 @ Jul 17 2017, 14:50)  ...с адреса 123.123.123.123 уж очень смахивает на дурдом в коде... мусор - не похож, 4 байта подряд... обнуляют обычно нулями... края на затирку вроде как не 7Bh... имхо = ищите ляпы в коде... (круглый)
|
|
|
|
|
Jul 18 2017, 03:36
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(kolobok0 @ Jul 17 2017, 20:26)  уж очень смахивает на дурдом в коде... мусор - не похож, 4 байта подряд... обнуляют обычно нулями... края на затирку вроде как не 7Bh...
имхо = ищите ляпы в коде... (круглый) мда. похоже неудачный пример привел. ок на Eth интерфейсе 172.31.74.11 (маска 255.255.255.0), а пакет уходит на 172.31.68.231, при этом на GSM интерфейсе 172.16.0.31 Ни тот, ни другой IP не входит в диапазон адреса получателя, соответственно LwIP использует дефолтный интерфейс. мусор в коде то у кого? у меня или у LwIP?
|
|
|
|
|
Jul 18 2017, 05:22
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(scifi @ Jul 18 2017, 08:02)  Не надо грязи. Вообще-то обычно вполне разумно устанавливать ppp интерфейсом по умолчанию. Если вам это не подходит, есть функция netif_set_default(). В моем случае разумней дефолтным интерфейсом использовать Ethernet (что в коде и делается, однако после поднятия PPP - он переназначается дефолтным), потому как GPRS является резервным каналом. С помощью netif_set_default можно конечно снова переназначить Ethernet дефолтным. Просто мне не совсем понятно зачем PPP переназначается принудительно, да происходит это не сразу после поднятия PPP (во всяком случае после вызова колбэк-функции по его поднятию, поэтому не ясно когда стоит сново назначить дефолтным Ethernet)
|
|
|
|
|
Jul 18 2017, 05:51
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(scifi @ Jul 18 2017, 08:42)  Можно тупо влезть в код lwip и закомментировать соответствующую строку, если это не выведено наружу в виде настройки. это то да) но может есть более изящный способ, в смысле, может есть какая то настроечка) вдруг кто сталкивался с подобныи эффектом
|
|
|
|
|
Jul 18 2017, 06:11
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (scifi @ Jul 18 2017, 08:02)  Вообще-то обычно вполне разумно устанавливать ppp интерфейсом по умолчанию. Простите, что вмешиваюсь, но в каких случаях и какие это может дать преимущества? Мне, как и k000858, кажется, что логичнее держать интерфейсом по умолчанию eth с бесплатным трафиком, чем ppp с платным.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 18 2017, 08:05
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(k000858 @ Jul 18 2017, 10:05)  И вообще, мне кажется, было бы логичнее отправлять ответы на запросы в тот интерфейс, в по какому они были получены. Логичнее, конечно. Но для этого нужно делать привязку пакетов к TCP-сессиям - лишний геморрой. К тому же пакет, открывающий новую TCP-сессию, куда слать? В общем, не надо вот это вот, потому что уже не совсем lightweight будет этот ip.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|