1

I send IP/UDP frames using raw sockets with destination IP address from 127/8 range - e.g. 127.0.0.6. So, packets are sent over the network OK (checked using tcpdump on the target device).

But on the target linux PC such frames are not processed, i.e. are not sent to UDP socket server (bound to 0.0.0.0). If the destionation IP is the address of the eth1 inerface - the packets are processed properly.

Why Linux doesn't want to process packet with local host IPs? Is it kernel Bug?

I need the address 127.x.x.x since the LSP Ping uses this address (RFC 4379).

Sergey Ch.
  • 13
  • 2

1 Answers1

4

This is by design, the entire 127.X.X.X address range is reserved for loopback, as defined in RFC1700:

http://www.ietf.org/rfc/rfc1700.txt

This is discussed a little more here:

why is loopback IP address from 127.0.0.1 to 127.255.255.254?

Just because MPLS uses it internally (For whatever reason), that doesn't mean a target server can listen on it and use that range.

Dan
  • 15,280
  • 1
  • 35
  • 67