Это была не грубость, а риторический вопрос! :)
во фре мне пока хватает того, что есть но вот захотелось bpf в сокете :) кстати, а почему в патче "if (so->so_type != SOCK_DGRAM) {" ?
Мне кажется нет смысл выставлять bpf фильтр на потоковые протоколы. Разве что на первый пакет.
в том примере. что я приводил, bpf был выставлен на raw_socket и фильтровал "левые" icmp
Я видел и мне это показалось странным. Зачем? Хороший IP стек и так должен успешно рубить "левые" пакеты не тратя лишних ресурсов. Моё видение полезности SO_SETBPF таково. Есть машина которая даже пакетного фильтра не имеет, ради экономии процессора. Весь мусор рубится стеком, и нам нужно только защитить демона DNS от плохих пакетов.
простой пример - прога в jail, где нету файрвола как рубать ненужные icmp types ?
А чем они плохо рубаются просто внутри icmp_input()?
тем, что для этого проге надо лазить в какие-то sysctl и т.п. политика микросервисов микросервис должен уметь работать в любом окружении без лазяния в ядро/sysctl/файрвол
Зачем лазить то? icmp_input плохо что-то рубит? Что тебе такое приходит в jail?
не обязательно icmp просто raw сокет
Не знаю, надо подумать. Мой патч конечно специфичен для UDP. Но конечно в raw_input() тоже можно консультироваться с inp_bpf. Но заметь, что raw socket это тоже dgram.
ну в примере оно было для high-load, с десятками тысяч icmp сообщений в секунду поэтому там контекст-свичинг был актуален
То есть демон для обработки ICMP. Да, если такая задача есть, то разумное решение. Вот как кто-то будет решать такую задачу на FreeBSD, может связаться со мной и возродим-допилим патч.
Дмитрию не нужен демон для ICMP. Ему нужно, чтобы фря не отставала по фичам от линукса.
Там система мониторинга, где в icmp payload передаются разные данные
это что ж за хайлоад такой? в какой задаче надо молотить столько icmp?
какой еще мониторинг в icmp payload? что за наркомания?
обычный по rfc, то, что отправлено в payload принимающая сторона должна возвратить
чо? в icmp овердохуя разных типов, и вовсе не все из них надо возвращать
Обсуждают сегодня