Вот есть два типа BPF - classic BPF (cBPF) и extended BPF (eBPF). Как я понимаю, второй 64-битный, а cBPF - 32-битный. То есть получается что cBPF код внутри ядра будет транслироваться в 64-битный перед выполнением? И еще - eBPF всегда требует встроенной в ядро виртуальной машины (echo 1 > /proc/sys/net/core/bpf_jit_enable)? Как eBPF будет выполняться без включенной VM ?
Выполняю команду unshare (man 1 unshare), которая позволяет выполнять команду в отдельном от родителя namespace'е, родителем в данном случае является shell из которого запускается unshare:
$ sudo unshare -pni /bin/sh
Однако я по-прежнему вижу все процессы хоста. Получается что PID namespace нельзя не шарить?
Мой ноут подключается через HDMI к внешнему монитору. Подскажите правильные параметры к xrandr, чтобы изображение выводилось на оба монитора, то есть если отключаю внешний монитор от ноута, то изображение остается на ноуте.
Какая версия glibc содержит strlcpy/strlcat? Какие дистрибутивы включают их по умолчанию. Проверял на Ubuntu-14.04.5(libc-2.19), Ubuntu-16.04.2(libc-2.23) — везде отстутсвует.
В моем приложении мне нужно получить PID процесса владеющего сокетом. Пока что вижу единственный вариант: пройти по всем /proc/PID/fd/*, прочитать readlink() все записи типа socket:[inode], и потом по иноду получить fd сокета.
Но есть ли способ проще? Я не нашел syscall'a который бы это делал, может быть плохо искал, или есть причины по которым его не реализовали? (болошой оверхед и пр.)
Комментарии к коду pskb_may_pull() http://elixir.free-electrons.com/linux/latest/source/net/core/skbuff.c#L1610 говорят, что функция может изменить skb указатели. Если так, то после выполнения этого API, нужно обновлять указатели, например, на L3/L4 заголовки. Но я просмотрел примеры использования функции в ядре, и не нашел чтобы это делали. Почему?
Приветствую, недавно наткнулся на warp17, работает поверх dpdk, собрал и установил по документации, но вот не удалось заставить его выполнять то для чего он собственно предназначен — генерировать траффик, судя по его счетчикам, через интерфейс вообще ничего не отправляется.
NIC - Intel 82599ES 10-Gigabit, судя по документации поддерживается dpdk-16.11
Если у кого-либо был удачный опыт с warp17 — буду рад выслушать.
Согласно gnus-овcким докам, нажатие B в Summary Plugged режиме позволяет удалять письма, и Гнус их более не отображает, однако web gmail по-прежнему показывает их в INBOX. Что я делаю не так?
Есть ли где-то требование передавать 16 и 32-битные данные в netlink сообщениях из юзер-спейса в ядро в network byte order?
Вот RFC https://tools.ietf.org/html/rfc3549 ничего по этому поводу не говорит.
Приветствую, возникла необходимость в следующей конфигурации: на одной машине два сетевых интерфейса, соединенных патч-кордом, настроил policy routing, пакеты между этими двумя картами ходят не через loopback девайс, а через патчкорд:
$ ip rule sh
1: from 192.168.2.101 to 192.168.2.100 iif eth1 lookup local
2: from 192.168.2.100 to 192.168.2.101 iif eth2 lookup local
3: from 192.168.2.101 to 192.168.2.100 lookup main
4: from 192.168.2.100 to 192.168.2.101 lookup main
100: from all lookup local
32766: from all lookup main
32767: from all lookup default
$
Теперь я добавил два dummy интерфейса (ip link add xx type dummy) dummy0 и dummy 1 с IP адресами 10.10.10.1 и 20.20.20.1 соответственно. Теперь мне нужно чтобы пакеты исходящие с dummy0 на dummy1 (ping -I 10.10.10.1 20.20.20.1) и наоборот проходили такой маршрут:
dummy0 <-> eth1 <-> eth2 <-> dummy1
Как сего добиться? Если можно добиться нужного проще, через Linux network namespace например, готов принять такой совет!
Спасибо.
Рассматриваю этот кусочек кода, и не могу понять, зачем нужно возвращать EAGAIN, и принуждать caller делать вызов снова. Я читал сопутствующий коду комментарий, но он не объясняет причину.
Имеется планшет ASUS Transformer Pad Infinity TF700T c Android v4.2.1 на борту. Интересует, как можно удалить приложения, которые были предустановлены, то есть через PlayStore не находятся.
Подскажите, как можно наиболее комфортно делать в gnus следующее: отвечая на письмо, нужно удалить нерелевантные строки и вместо них поместить например `[...]` или `<skip>`.
То есть выделяется блок `C-SPACE`, потом удаляется `C-w`, и нужно вместо добавить определенные символы.
Наверняка в Гнусе есть встроенные стредства для этого?
Имеется gmail аккакунт, настроил gnus читать почту по IMAP протоколу. Теперь хотелось бы научить Гнус раскладывать письма из почтовых рассылок по индивидуальным «папкам» (или как это именует gmail), например в ml-openstack, ml-dpdk, т.е. когда / запускаю gnus, то хочу видеть не только INBOX, но и ml-openstack, ml-dpdk и так далее.
Что нужно подкрутить в Гнусе, чтобы этого добиться? Спасибо.
Интересует, насколько хорошо поддерживаются данные адаптеры в ubuntu и debian. Гуглил, вроде как серьезных проблем не было видно, но тем не менее рад бы услашаьб мнение на ЛОРе. Спасибо.