>> Edit article
이름
제목
패스워드
소켓 버퍼를 수정하기위해 기존의 UDP/IP에서 UDP를 제거 할려고 합니다... ip_output과 ip_finish_output 사이에 함수를 하나를 만들어서.. int hh_len=(rt->u.dst.dev->hard_header_len + 15)&~15; int len=sizeof(struct iphdr)+sizeof(struct udphdr)+hh_len; int length=hh_len+ sizeof(struct iphhdr); skb->nh.iph=iph; struct sk_buff *skb2=skb_copy(skb,GFP_ATOMIC); skb2->pkt_type = skb->pkt_type; skb2->priority = skb->priority; skb2->dst = dst_clone(skb->dst); skb2->dev = skb->dev; __skb_trim(skb,len); skb=alloc_skb(length, GFP_ATOMIC); skb_reserve(skb,hh_len); skb->pkt_type =skb2->pkt_type; skb->priority = skb2->priority; skb->dst =skb2->dst; skb->dev =skb2->dev; 이렇게 수정을 했는데, 제가 개념이 없어서요... 컴파일 할때는 에러가 없는데....... 부팅하고 확인할려면...프로그램들이 세그멘테이션 에러라구... 나오네요....제가 메모리를 잘못건들인것 같은데... 제가 skb_put과 trim를 잘못사용한것인지.... 고수님들의 도움좀./.....
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved