LINUX.ORG.RU
ФорумTalks

Как я не поддержал ipv6

 ,


0

2

Пишу постепенно код для свей системы управления чпу. Добавляю ip стек, чтобы не по com порту команды гнать, а по быстрому ethernet. Железка - stm32f103, 20кб озу.

Потыкал lwip - вроде работает, но при совмещении с моим кодом не влезает в память. Потыкал uip - слишком примитивно и проблемы были.

Делаю свою реализацию. И что-то так лениво мне стало делать ipv6....

★★★★★

Последнее исправление: cvs-255 (всего исправлений: 1)

Вот если бы ты его сделал, было куда смешнее и тупее.

K22
()

А что в 20Кб можно ip-стек засунуть? Он там в любом случае будет люто кастрированным, даже если впихнешь. Ну например, как он обработает ping -l 65500 ?

praseodim ★★★★★
()
Ответ на: комментарий от praseodim

можно, но с трудом, да. И далеко не все.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от praseodim

А что в 20Кб можно ip-стек засунуть?

Если речь о 20К ОЗУ, то да, можно.

sergej ★★★★★
()

Думаю, в данной ситуации можно и забить на ipv6. Да и меньше вероятность что станок будет голой жопой в ынтернеты светить. Станок ведь в лучшем случае будет в локальной сети, а там проблема недостатка IP адресов не стоит.

DawnCaster ★★
()
Ответ на: комментарий от DawnCaster

Мне кажется, что если речь тольтко о передаче данных на станок, то можно и на ipv4 забить. По ethernet ведь не обязательно IP гонять, можно и чем-то проще обойтись. Хотя, конечно, возможность из стандартных приложений заливать данные тоже ценна.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

Я бы всё-таки хотя-бы DHCP и UDP сделал-бы для удобства. Всё-таки общение через совсем уже свой протокол через голый IP не слишком удобно будет реализовывать. Да и со стандартными протоколами проще будет интегрировать станок в более сложные конфигурации локальной сети.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 1)
Ответ на: комментарий от praseodim

И, кстати, никто не мешает для сетевого стека взять отдельную железку, или ещё один микроконтроллер...

DawnCaster ★★
()
Ответ на: комментарий от praseodim

По ethernet ведь не обязательно IP гонять, можно и чем-то проще обойтись

А IPX/SPX из линукса уже выкинули?

sergej ★★★★★
()
Ответ на: комментарий от DawnCaster

Там даже не локальная сеть будет, а просто прямой провод от основного компьютера в железку

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от Harald

Хотя нет, мы же не хабр. Тут нужно шифрование, желательно несколько раз и разными протоколами.

Riniko ★★
()
Ответ на: комментарий от Harald

mDNS, DHCP клиент, чтоб станок автоматически в сети определялся компом, UPnP клиент, чтоб NAT пробивать и в глобальные интернеты вылазить

ну и вебморду на нодежээс ещё

Harald ★★★★★
()

Реализация IP на таком чипе - бесполезное занятие. Куда практичнее вынести все «умное» и жирное на отдельный процессор с Линуксом, а всё «быстрое» и простое реализовывать уже на микроконтроллере. Ethernet вполне можно использовать как «быстрый COM-порт» - без IP, т.е. чисто свой протокол.

Deleted
()
Ответ на: комментарий от Harald

линукс в принципе не подходит для задачи. Линукс не обеспечивает жесткого реалтайма для целево задачи

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 2)

а чем USB не подходит

Harald ★★★★★
()

для мсдос (640 кб достаточно всем) было 2 или 3 реализации tcpip. они работали, пока все стояло на столе. как только это выставляли в продакшен, работать переставало.

anto215 ★★
()
Ответ на: комментарий от cvs-255

Жесткий реалтайм при приеме/передаче данных поверх IP на ЧПУ? Мсье, вы упороты.

Оставьте жесткий реалтайм в логике управления станком, зачем он нужен при загрузке задания то? Или у вас команды на станок будут потоково слаться через IP? Тогда вы упороты вдвойне.

mersinvald ★★★★★
()

Ты тянешь прогрессивное человечество обратно в каменный век.

И вообще, зачем Ethernet? Сейчас модно использовать Wi-Fi.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от Deleted

вынести все «умное» и жирное на отдельный процессор с Линуксом

А зачем выносить если можно взять lwip или написать своё? 20К конечно жестко, но на 64К lwip вполне работает даже с прикрученным TLS и остаётся достаточно ОЗУ на приложение.

sergej ★★★★★
()
Ответ на: комментарий от Kompilainenn

вот когда запилит, тогда и можно называть необычным регистрантом

Harald ★★★★★
()
Ответ на: комментарий от mersinvald

Жесткий реалтайм при приеме/передаче данных поверх IP на ЧПУ?

Нет, это не требует реалтайма. А вот код, который дергает шаговики - требует реалтайма.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от sergej

А зачем выносить если можно взять lwip или написать своё?

пробовал lwip. Само по себе оно работает, но вместе с моим кодом уже не влезает в память

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

Ну да, у самого lwip футпринт примерно 20-30К и хватает этого примерно на 1-2 tcp соединения. Мы кажется урезали его heap килобайт до 16 чтоли. Но для F103 конечно не подойдёт.

sergej ★★★★★
()

Потыкал uip - слишком примитивно и проблемы были.

Обычно, когда что-то сделано просто, то и проблем меньше. Какие были?

gag ★★★★★
()
Ответ на: комментарий от Harald

вообще у голого ethernet тот еще недостаток, что надо то, что с ним работать будет со стороны linux, запускать от root либо выставлять setcap. А т.к. у меня код управляющий на python, то получается, что setcap надо делать на бинарник питона

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)

Вот если бы ты не поддержал ipv4 - было бы интересно, а так просто очередной кривой ipv4 стек.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от sergej

Для этого есть uip но тот довольно странным может с первого взгляда показаться. Сокеты задаются на этапе компиляции, в рантайме никаких крутилок нет, dhcp нет, населена роботами.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

эти проблемы не были главными. я так и не добился его стабильной работы. хотя может плохо разобрался.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от Dark_SavanT

ну я пока временно на ethernet голом и сижу. первые 2 запроса броадкастами, а дальше уже запоминаю адреса.

но проблемы такого подхода я чуть выше описал

cvs-255 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.