наконец то удалось найти время для экспериментов> У меня 8.2 х64, но это не должно иметь значения. Памяти там
> требуется не много, совсем не во время работы. Возможно проблема с
> либами которые преобразуют выражения для фильтра с помощью tcpdump в код
..
> Попробуйте в консоле: tcpdump -s 65535 -ddd 'ether[0] & 1 = 1
> and (ether[0:4] != 0xffffffff or ether[4:2] != 0xffff) and ip[9] =
> 2'
...
запустил в консоли, потом посмотрел вывод, почитал маны, понял что вроде валидный вывод, сделал вспомогательный подскриптик как часть с инициализацией BPFPROG_MCAST_IGMP (я так понимаю по логике это достаточно статичный массив если провайдер не меняет настройки вещания) чтоб не руками набивать, скинул в текстовые файлы. сделал "лениво-отладочную" версию скрипта с жестко прошитыми интерфейсами и выводом по эхо номеров строк скрипта выполненых, вобщем ошибок не было, модифицировал ваш скрипт заменив подпрограмку с использованием вызова tcpdump на bpfprog из файлов в которые заранее сохранял - запустил - и о чудо работает черт подери !!! :D сижу смотрю наконец бридж-тв... мтс на кабельном отрубили его.. пришлось ip-tv подключать
рад очень, странно что исходная версия подвисала, но главно чтотеперь работает, решение изящное, не надо пересобирать после обновлений этот порт igmpproxy ... он коненчо служил верой и правдой мне пару лет но через bpf еще интересней и универсальней получается.