LINUX.ORG.RU

Сообщения cruz7

 

RPC в контексте протокола NETCONF

Форум — Development

Разбираюсь с протоколом NETCONF (RFC6241). В стандарте написано, что протокол импользует парадигму RPC (remote procedure calls), однако из описания протокола не очевидно, что клиент запрашивает исполнение процедур/функций на удаленной системе, то есть на сервере, и нет ни слова про механизмы сериализации данных/объектов при передаче по сети (https://en.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call). По описанию получается, что это XML передаваемый по TCP; также они добавили теги <rpc>, <rpc-reply> и <rpc-error> которые пересылаются как XML, и это они назвали RPC.

Вопрос скорее к тем, кто пересекался с этим или подобными протоколами, и может высказать предположения, где же там RPC?

Спасибо.

 , , ,

cruz7
()

обновить centos-6.7 до centos-7

Форум — Linux-install

Приветствую,

Как можно обновить centos-6.7 до centos-7? Читал что https://wiki.centos.org/TipsAndTricks/CentOSUpgradeTool бывает не очень успешен и порой система либо не бутится, либо работает со сбоями. Попробовал взять ISO-образ centos7 и загрузиться, но там нет опции upgrade.

Что рекомендуется в таких случаях? Спасибо.

 ,

cruz7
()

«наисвежайшие» пакеты в CentOS

Форум — General

Приветствую,

Как правило версии пакетов в CentOS и Ubuntu отличаются, то есть Ubuntu стремится предоставить в своих репозиториях самые распоследние версии, в то время как CentOS более консервативен.Можно ли в CentOS добавить еще один репозиторий в

/etc/yum.repos.d/
с самыми свежими пакетами?

Более конкретно - мне нужно обновить tar, сейчас установлен tar-1.23-13.el6.x86_64, однако Yocto требует более новый. (Там он еще хочет много других свежих пакетов, tar для примера)

Попробовал разные repos из списка на офиц. вики https://wiki.centos.org/AdditionalResources/Repositories но ни в одном нет нужного мне tar'а. Есть ли какие-либо другие варианты?

Спасибо.

 ,

cruz7
()

включение/отключение прерываний

Форум — Development

PCIe устройства поддерживают три типа прерываний: INTx (через эмуляцию), MSI и MSI-X. Фактически прерывания могут быть отключены/включены на трех уровнях:

  • посредством PCI регистра PCI_COMMAND или MSI/MSIX регистров
  • прерывания можно маскировать в регистрах самого девайса

Интересует следующее — достаточно ли отключить доставку прерываний хосту через регистры девайса, или в дополнение к этому нужно так же это делать и на уровне PCI регистров?

 ,

cruz7
()

поддержка PCI SR-IOV на FreeBSD

Форум — Development

Насколько хорошо FreeBSD поддерживает pci sr-iov стандарт на цровне pci подсистемы ядра? В каких релизах это имплементировано?

 , ,

cruz7
()

портировать драйвер с линукса на FreeBSD

Форум — Development

Приветствую,

Есть потребность портировать PCIe драйвер на BSD, версия BSD неизвестна но думаю на данном этапе это не страшно, так как хочу понять какие компоненты потребуют особенного внимания. Удобно то, что драйвер уже поделен на две части, OS independent (то есть библиотека абстракций для каждой OS, спинлоки, ф-ции выделения памяти и пр.) и OS dependent.

  • инициализационный код для BSD (аналог init_module, cleanup_module и сопутствующее на линуксе)
  • код для регистрации PCI драйвера в ядре
  • код для регистрации char device и соответствующих file_operations
  • DMA операции

На что еще обратить внимание, что еще я упустил? Если есть полезные ссылки на разработку драйверов под BSD, с удовольствием приму :)

Спасибо.

 , , ,

cruz7
()

память выровнена по границе страницы

Форум — Development

Приветствую,

читаю https://www.kernel.org/doc/Documentation/DMA-API.txt секцию «Part Id» про функцию

dma_map_single
. Там есть такие слова:

Memory coherency operates at a granularity called the cache line width... Therefore, it is recommended that driver writers ... only map virtual regions that begin and end on page boundaries (which are guaranteed also to be cache line boundaries).

Вопрос: какая функция ядра гарантиурет, что память выделена по границе страницы? Вроде как kmalloc больше оптимизирован на выделение памяти объектам размером меньше страницы.

 , , ,

cruz7
()

linux crypto framework

Форум — Development

В ядрах начиная с 2.5.x есть поддержка crypto framework. Посмотрел https://www.kernel.org/doc/Documentation/crypto/ и другие документы, что смог найти в сети, и пришел к выводу что этот фреймворк в основном обеспечивает ядерные имплеметнации различных протоколов; а есть ли какая-то поддержка со стороны этого фреймворка для аппаратных ускорителей (hardware accelerators) криптографических операций, сжатия/расжатия.

То есть вопрос в том, что если пишется драйвер для аппаратного ускорителя например ssl или ipsec, есть ли смысл «встраивать» драйвер в crypto framework, какие преимущества это даст?

Спасибо.

 ,

cruz7
()

когда ядро вызывает функцию probe в PCI драйвере

Форум — Development

Перед регистрацией PCI драйвера нужно проинициализировать структуру pci_driver и передать в pci_register_driver(). Одно из полей в структуре это указатель на ф-цию probe.

Собственно вопрос - а когда ядро «позовет» эту функцию. То есть при старте ядра более/менее понятно — PCI core сканирует шину, находит устройства, получает имена из device tree, после этого проходит по списку зарегистрированных драйверов и если к-л драйвер зарегился на данный VENDOR_ID/DEVICE_ID, то запускает его probe(). Как-то так...

А если мы insmod драйвер уже при загруженном ядре, как при таком раскладе ядро решает когда звать probe? Что определяет поведение?

Спасибо.

 , , ,

cruz7
()

dual-boot между Fedora12 и OracleSolaris 11.2

Форум — General

[ Вопрос не совсем по Линуксу, надеюсь по Солярису найдется кому ответить :-) ]

На одном жестком диске установлена сначала Fedora12, а потом OracleSolaris 11.2, чей grub2 был установлен поверх линуксового. Вот такая раскладка партиций имеет место быть, как сообщает gparted:

Partition table GPT
/dev/sda1 rootFS ext4
/dev/sda2 linux-swap
/dev/sda4 bios_grub
/dev/sda3  solaris rpool

Т.е. сейчас управление передается grub-у Соляриса и загружается только он, ибо записи для Линукса нет. Добавил следующее в /rpool/boot/grub/custom.cfg:

menuitem "Fedora 12" {
    insmod part_gpt
    insmod chain
    set root=(hd0,gpt1)
    chainload --force +1
}

Теперь в грубовском меню есть две записи, Oracle Solaris 11.2 and Fedora12, но последняя упорно не желает загружаться, «command chainload unknown». Может быть, Солярис тольком не поддерживает ext4 разделы, отсюда и ошибка (здесь http://www.unix.com/solaris/225165-u...aris-11-a.html говорится об этом, но относится к 2013г.)

Буду признателен за советы. Спасибо.

 , ,

cruz7
()

snort: правило drop icmp rule не дропает пакеты

Форум — General

Установил snort-2.9.7 из исходников и запускаю в качестве IDS:

% snort -devQ -A console -c /etc/snort/snort.conf -i eth0:eth1
Enabling inline operation
Running in IDS mode
...

Конфиг очень тривиальный:

#
var RULE_PATH rules
# Set up the external network addresses. Leave as "any" in most situations
ipvar EXTERNAL_NET any
# Setup the network addresses you are protecting
ipvar HOME_NET [10.10.10.0/24]
config daq: afpacket
config daq_mode: inline
config policy_mode:inline
include $RULE_PATH/icmp.rules

Правило в icmp.rules простое в целях тестирования:

reject icmp 10.10.10.2 any <> 10.10.10.1 any (msg:"Blocking ICMP Packet from 10.10.10.2"; sid:1000001; rev:1;)

На хосте где запузен Snort интерфейс eth0 с адресом 10.10.10.1, посылаю ping на 10.10.10.1 с другого хоста, icmp пакеты не дропаются Снортом, а возвращаются icmp ответы:

02/27-15:04:40.623763  [Drop] [**] [1:1000001:1] Blocking ICMP Packet from 10.10.10.2 [**] [Priority: 0] {ICMP} 10.10.10.2 -> 10.10.10.1

Что я делаю не так?

 , ,

cruz7
()

изолирование процессорных ядер через isolcpus

Форум — Development

Приветствую,

читал описание опции в kernel.org/doc/Documentation/kernel-parameters.txt но не ясно, идет ли речь о физических ядрах или логических?

Пример — есть Xeon с 4-я физическими ядрами, а с включенным HyperThreading получается 8 ядер, т.е. если нужно изолировать физическое ядро 2 и 3, то isolcpus=4,5,6,7 Правильно я понимаю или ошибаюсь?

Спасибо.

 , ,

cruz7
()

параметр ядра isolcpus

Форум — General

Приветствую,

читал описание опции в kernel.org/doc/Documentation/kernel-parameters.txt но не ясно, идет ли речь о физических ядрах или логических?

Спасибо.

 , ,

cruz7
()

netperf — сгенерировать траффик на интерфейс

Форум — Admin

Приветствую,

Имеется машина с Fedora 20, где сетевые интерфейсы 'отвязаны' от своего драйвера и 'привязаны' к другому через /sys/bus/pci/drivers/DRV/{unbind|bind}. Если говорить проще, то речь идет о DPDK от интела.

Как результат, данные интерфейсы более не видны приложениям. Теперь возникла потребность потестить пропускную способность, но из того что я знаю, netperf и iperf, требуют запускать сервер с привязкой к интерфейсу и IP адресу на DUT (device under test), далее запускаем клиент на test-машине, соединяемся с сервером и пр.

В моем случае на DUT нет интерфейса со своим адресом, который можно было бы подсунуть netperf или iperf — можно ли как-то это обойти и убедить netperf на тест-машине «тупо» слать траффик на определенный интерфейс?

Вот картинка:

+---+                      +----+
|DUT+->eth0---------<-eth0-+Test|
|   |                      |    |
|   +->eth1---------<-eth1-+    |
+---+                      +----+

Интерфейсы eth0/1 на DUT захвачены драйвером DPDK и потому «не видны» приложениями, tcpdump, ifconfig или netperf соответственно на Test машине мне нужно объяснить netperf-у просто генерировать траффик на интерфейс eth0. Сходу этого не получилось сделать:

Test% netperf -N -H 10.0.0.2
...
netperf: send_omni: connect_data_socket failed: No route to host

Можно ли средствами iptables/ebtables/etc. выкрутиться? Спасибо.

 ,

cruz7
()

обновить RabbitMQ

Форум — General

Приветствую,

Пытаюсь обновить rabbitMQ на Fedora20 с версии rabbitmq-server-3.1.5-10 на http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.2/rabbitmq-server-3.4.2...

% rpm -ihv http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.2/rabbitmq-server-3.4.2-1.noarch.rpm
Retrieving http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.2/rabbitmq-server-3.4.2-1.noarch.rpm
warning: /var/tmp/rpm-tmp.FUnQ1C: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY
error: Failed dependencies:
        erlang >= R13B-03 is needed by rabbitmq-server-3.4.2-1.noarch
%

При этом erlang установлен из пакетов R16B. Что же ему не нравится?

 ,

cruz7
()

yum игнорирует изменения в /etc/yum.repos.d/*

Форум — General

Приветствую,

OS Fedora 20.

Поменял URL в /etc/yum.repos.d/repo_info.repo однако yum все равно упорно лезет по старому адресу. Удалил кеш в /var/cache/yum/x86_64/20/my_repo/ но и это не помогло. Что еще нужно сделать?

Спасибо.

 ,

cruz7
()

qemu подвисает при загрузке Fedora 20

Форум — General

Запускаю qemu-1.6.2 из текстовой консоли:

% qemu-system-x86_64 -cpu host -boot c -hda fedora.qcow2 -snapshot -m 1024 --enable-kvm -name vm0 -curses -pidfile /var/run/vm0.pid -net none -netdev type=tap,id=net0,script=no,downscript=no,ifname=vhost0,vhost=on -device virtio-net-pci,netdev=net0

Начинает стартовать, вижу сообщения от загружающегося ядра, но в какой-то момент все подвисает и на экране консоли только остается надпись «1280x1024 Graphic mode». Мне не нужна графика. На всякий случай даже обновил grub.cfg на госте, убрал rhgb и добавил text в параметры ядра.

Также на госте:

% ls -la /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 37 Sep 22 17:17 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target
%

Что еще нужно сделать для нормальной текстовой загрузки? Спасибо.

 , ,

cruz7
()

примонтировать qcow2 образ QEMU

Форум — General

Приветствую,

OS Fedora 18. появилась необходимость сделать изменения в образе системы установленной в QEMU. Сделал все по написанному вот по этой ссылке http://docs.openstack.org/image-guide/content/ch_modifying_images.html однако ничего не получилось, т.е. дошел до этапа vgscan, который не желает видеть разделы из /dev/nbd* устройств. Есть ли гипотезы/предположения причин такого поведения и что нужно подправить, чтобы получить доступ к содержимому образа?

Спасибо.

 , ,

cruz7
()

кто и зачем переименовывает сетевой интерфейс

Форум — General

Приветствую,

На Fedora 18 вижу следующее в логах dmesg'a:

[    5.241882] systemd-udevd[273]: renamed network interface eth0 to p2p1
[    8.527104] e1000: p2p1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

Судя по всему это делает /usr/lib/udev/rules.d/60-net.rules:

ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", RESULT=="?*", NAME="$result"

Вопрос — с какой целью это делается (что плохого в имени ethX) и как это правильно отключить?

 , ,

cruz7
()

ошибка изменения nr_hugepages

Форум — General

Приветствую,

Fedora20 с 8G памяти. Добавил параметры ядра для выделения четырех hugepages размером 1G, однако изменить этот параметр не получается:

% echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
-bash: echo: write error: Invalid argument

Это известная проблема или я что-то делаю не так?

 ,

cruz7
()

RSS подписка на новые темы