리눅스 커널. 터널 디바이스에서 dev->hard_start_xmit 호출 이전에 패킷 hook 하기?
글쓴이: jenix / 작성시간: 월, 2006/02/06 - 10:45오전
안녕하세요.
기존 터널 디바이스 드라이버를 수정하고 있는데요
문제가 하나 생겼습니다 -ㅇ-;
dev->hard_start_xmit 콜백함수가 호출되는 시점에서
skb 를 가공하고 처리해서 송신큐로 넣어주더라구요.
그런데 제가 원하는건 이 소캣버퍼의 가공을 async 하게 처리하고 싶은데요.
hard_start_xmit 콜백함수가 호출되기 이전에 이리로 들어올 skb 를
중간에서 훅할수 있으면 제일 좋을것 같습니다만 방법을 잘 모르겠습니다.
제가 아직 네트웍 디바이스 드라이버 작성을 완전히 공부를 못해서 모를수도 있는데..
혹시 이 터널 디바이스 자체에서 hard_start_xmit 함수가 호출되기 이전에 skb 를 접근할수 있는 법은 없을까요.. ( 제가 알바본걸로는 없는것 같던데 ㅠㅠ )
또 제가 생각한건 넷필터 모듈을 만들어서 훅을 하게 하는 법도 있을듯 한데요.
근데 이건 ;; 넷필터 자체 속도도 저하가 될거같고 암튼 이 방법은 여러모로 안좋을것 같은데.. 에고..
( 이게 터널 디바이스는 완전히 소프트웨어(?) 디바이스라 그런것 같습니다. )
터널 디바이스 만들때, 패킷 가공을 async 하게 처리해보신분 계시면 조언좀 부탁드립니다 :oops:
Forums:
댓글 달기