Я отправляю кадры IP / UDP с использованием сырых сокетов с IP-адресом назначения из диапазона 127/8 - например, 127.0.0.6. Итак, пакеты отправляются по сети нормально (проверено с помощью tcpdump на целевом устройстве).
Но на целевом ПК с Linux такие кадры не обрабатываются, т.е. не отправляются на сервер сокета UDP (привязанный к 0.0.0.0). Если IP-адрес назначения является адресом интерфейса eth1 - пакеты обрабатываются правильно.
Почему Linux не хочет обрабатывать пакеты с IP-адресами локальных хостов? Это ошибка ядра?
Мне нужен адрес 127.x.x.x, так как LSP Ping использует этот адрес (RFC 4379).
По замыслу, весь диапазон адресов 127.X.X.X зарезервирован для обратной петли, как определено в RFC1700:
http://www.ietf.org/rfc/rfc1700.txt
Это обсуждается здесь немного подробнее:
почему петлевой IP-адрес от 127.0.0.1 до 127.255.255.254?
Тот факт, что MPLS использует его для внутренних целей (по какой-либо причине), не означает, что целевой сервер может прослушивать его и использовать этот диапазон.