получать многоадресную рассылку от определенного сетевого интерфейса в Linux

Я пытаюсь получить многоадресные данные от определенного сетевого интерфейса на CentOS 5.5

sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(1234);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(sd, (sockaddr*)&addr, sizeof(sockaddr_in));
setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, "eth0", 5);

Но я получаю пакеты со всех интерфейсов.

Что случилось?

5
задан Kara 25 April 2014 в 18:02
поделиться