커널에서 패킷을 무작정 내려보내는방법??

yhlvyp의 이미지

라우팅 데몬을 짜고있습니다.

그런데 현재 커다란 문제에 봉착하였습니다.ㅠㅠ

알고리즘의 특성상

리눅스 시스템에서 생성된 모든 패킷을 무조건 device driver 레벨까지 내려야합니다.

그런데 이 커널이란놈이 ip layer에서 dest ip 에 대해 arp request를 보내고 reply를 못받으면

해당 패킷을 폐기 해버린다는 것이죠-_-

반드시 device driver레벨까지 내려가야하는데...

커널 소스를 수정하지 않고 어떠한 방법이 없을까요?

편법성으로 request를 하면 제 데몬에서 재빨리 reply를 해주는 방식도 시도 해밨는데(dest mac은 임의로..)

이상하게 tcpdump에는 제가 응답한 arp reply가 잘찍히는데

커널의 arp table에는 추가가 안되더군요...

그래서 아무 소용없이 또 해당 패킷이 iplayer에서 폐기 되고 맙니다.

어떠한 방법이 있을지... 고수님들 부탁드립니다.ㅠㅠ