LINUX.ORG.RU

netlink vs. ioctl

 , ,


0

1

Всем добрый вечер :)

Вот объясните мне, чем netlink лучше вызовов ioctl? Бытует мнение, что символьное устройство со «случайными» ioctl - не есть хороший дизайн драйвера - «having a character device with random ioctl()s is not really a good driver design.»

Но зато там можно легко и непринужденно получить указатель на устройство, с которым работают. Например

static long mkopci_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
    struct m_device *dev = (struct mkopci_device *)filp->private_data;

а что в случае с netlink? и там еще нужно как-то договориться о том, с каким номером общаться, в смысле, отдать в юзер-спейс значение второго параметра netlink_kernel_create... в целом, для простого драйвера это слишком, или я не прав?

★★★★★

Последнее исправление: metawishmaster (всего исправлений: 2)

Бытует мнение, что символьное устройство со «случайными» ioctl

это скорей всего некомпетентность драйвераписателя и он изобретает велосипед, вместо того чтобы встраивать код в готовый фреймворк с неслучайными ioctl и документированным API

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.