Comunicação entre o espaço do usuário e o espaço do kernel - AF_netlink + AF_Unix

1

Sou novo no IPC e estou tentando implementar um buffer comum entre os processos do kernel e do espaço do usuário. Meu design será de tal forma,

Eu terei uma biblioteca (no espaço do usuário) onde meu soquete de cliente tenta se conectar a um daemon de espaço do usuário (com o buffer) esperando por uma conexão. Os processos que tentam acessar o buffer devem vincular a biblioteca e postar mensagens no soquete. Assim, as mensagens são postadas no buffer. Isso será muito fácil de implementar apenas para processos de espaço do usuário

Soquete

(AF_UNIX, SOCK_STREAM, 0);

Mas minha pergunta é como usar a mesma biblioteca no espaço do kernel para se comunicar com o daemon de espaço do usuário (com o buffer). Como sabemos, a API abaixo será usada a partir do espaço do usuário para sockets netlink

soquete (PF_NETLINK, SOCK_RAW, NETLINK_TEST);

Existe alguma maneira de combinar os dois na mesma biblioteca, para que tanto o kernel quanto os processos de espaço do usuário possam fazer uso da biblioteca?

    
por Karthick 16.02.2018 / 07:10

0 respostas