sk_buff 구조체에 대해서 질문 있습니다.
글쓴이: powerson / 작성시간: 월, 2006/01/09 - 9:34오후
socket buffer 데이터중 tcp_header 정보를 가져다가 쓸려고 하는데요. netif_receive_skb 함수에서 다음과 같은 코드를 사용하면
__u16 dest_port; port = skb->t.th->dest;
"dereferencing pointer to incomplete type" 이러한 에러가 발생합니다.
혹시 이러한 에러가 발생하는 이유가 netif_receive_skb 함수는 physical layer에서 수행되는 함수여서 tcp header의 정보가 아직 tchhdr 구조체에 채워지지 않아서 이러한 에러가 발생한게 아닐까 하는 생각을 하고 있습니다.
혹시 이것에 대한 이유를 아시는 분 계시면 답변 부탁드립니다.
참고로 페도라 코어4이고, 커널 2.6.11이며, gcc-4.0입니다.
Forums:
음.. 자답인듯 싶네요..제가 생각해 본것이 맞았던거 같습니다.
음.. 자답인듯 싶네요..
제가 생각해 본것이 맞았던거 같습니다.
netif_receive_skb함수에서 handle_diverter함수를 호출하는데 이곳에서 각 프로토콜에 해당되는 것으로 설정을 하는거 같습니다. 이곳중 TCP에서 처리를 하니 컴파일 타임에서 에러가 없네요. 흐흐
내일 회사가서 런타임 에러가 발생하는지 체크해봐야 겠습니다. ^^
혹시나 만약 제 생각이 틀리다면 답변 달아주시기 바랍니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
댓글 달기