사용자 정의 레이어 3 프로토콜을 위한 사용자 정의 Linux 드라이버

사용자 정의 레이어 3 프로토콜을 위한 사용자 정의 Linux 드라이버

우리는 CubeSats에서 사용될 사용자 정의 물리적 계층을 사용하여 사용자 정의 통신을 설계하고 있으며 Linux용 사용자 정의 레이어 3 드라이버를 만드는 방법을 조사하고 있습니다(ipv4와 유사하지만 헤더가 완전히 다릅니다).

나는 net/af_inet.c를 보고 AF_INET 프로토콜 계열을 등록하는 방법을 이해하기 시작했습니다. 그러나 net/sockets.c 내부를 살펴보면 PF_MAX까지 정의된 값에 의존하는 것으로 보입니다. 그래서 나는 새로운 프로토콜 계열을 무작위로 정의할 수 없습니다. PF_MAX 앞에 PF_xxxx를 조정하고 삽입하면 되나요? 아니면 내가 뭔가를 놓치고 있는 걸까? 가능하다면 커널 해킹은 피하고, 로딩 가능한 모듈을 고수하고 싶습니다.

주제에 관한 어떤 자료라도 환영합니다. 비록 제가 LDD3에 대해 읽었고 이것이 제가 phy용 장치 드라이버를 작성하는 방법이지만 말입니다.

편집: 데이터 링크 계층도 맞춤식이며 이더넷과 다른 헤더를 가지고 있다는 사실을 언급하는 것을 잊었습니다.

편집: 아래에 블록 다이어그램을 추가했습니다.

PHY는 FPGA에서 구현되며 AXI를 통해 Cortex-A9에 연결됩니다.

여기에 이미지 설명을 입력하세요.

관련 정보