2
모두 알고 있듯이 netlink는 사용자/커널 공간 통신 메커니즘입니다.netlink를 통해 두 리눅스 커널 모듈간에 통신이 가능합니까?
커널 모듈에서 다른 모듈로 통신하고 싶습니다. 다른 커널 모듈은 이미 netlink 인터페이스를 가지고 있습니다.
사용자 공간에서 커널 모듈과 넷 링크를 연결할 수 있습니까?
모두 알고 있듯이 netlink는 사용자/커널 공간 통신 메커니즘입니다.netlink를 통해 두 리눅스 커널 모듈간에 통신이 가능합니까?
커널 모듈에서 다른 모듈로 통신하고 싶습니다. 다른 커널 모듈은 이미 netlink 인터페이스를 가지고 있습니다.
사용자 공간에서 커널 모듈과 넷 링크를 연결할 수 있습니까?
짧은 답변 : 제
당신이 기호를 다른 커널 모듈로 수출하고 있습니다 (전역 변수 나 함수)를 사용한다이 개 커널 모듈 간의 통신을합니다.
netlink
소켓은 커널과 사용자 영역간에 통신하는 데 사용됩니다. AFAIR 커널 내에서 통신하려면 netlink (적어도 선호하는 방법이 아닙니다)를 사용할 수있는 방법이 없습니다. 기호를 내보내기위한
예 :
module1.c:
int foo(int a)
{
/* do some stuff here */
}
EXPORT_SYMBOL(foo);
module2.c
extern int foo(int);
int bla(int b)
{
/* call foo(a) */
int ret = foo(b);
}
내보내기 기호 - 그것은 좋은 생각,하지만 난 다른 모듈을 수정할 수 없습니다. 필요한 기능을 내 보내지 않습니다. – AlexeyPerevalov