분류1

임베디드시스템

제목

Steps of receiving data from network device

by TEMA @Steps of receiving data from network device netif_rx( ) -> net_rx_action( ) -> ip_rcv( ) -> tcp_rcv_established( ) read( ) -> sys_read( ) -> inet_recvmsg( ) -> tcp_rcvmsg( ) 1. netif_rx(struct sk_buff *skb) - /net/core/dev.c (1214) - Put packet into backlog queue - Marks bottom half for later execution 2. net_rx_action(struct softirq_action *h) - /net/core/dev.c (1419) - call pt_prev->func() [ = ip_rcv() ] to pass packet to appropriate protocol - pt_prev is a pointer which points to appropriate function according to packet type 3. ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt) - /net/ipv4/ip_input.c (383) - Examines pakcet for error : :Invalid length (too short or too long) :Incorrect version :Invalid checksum - Defrags packet if necessary - Call ip_route_input to route packet - return skb->dst->input(skb) [=tcp_rcv, udp_rcv 4. tcp_rcv_established(struct sock *sk, struct sk_buff *skb, struct tcphdr *th, unsigned len) - /net/ipv4/tcp_input.c (3212) - Check all flags and header info - Send ACK - Call __skb_queue_tail to put packet in socket receive queue 5. read(socket, data , length) 6. sys_read(unsigned int fd, char * buf, size_t count) - /fs/read_write.c (147) 7. sock_read(struct file *file, char *ubuf, size_t size, loff_t *ppos) - /net/socket.c (544) 8. inet_recvmsg(struct socket *sock, struct msghdr *msg, int size,         int flags, struct scm_cookie *scm) - /net/ipv4/af_inet.c (740) 9. tcp_rcvmsg(struct sock *sk, struct msghdr *msg, int size) - /net/ipv4/tcp.c (1388)

첨부파일 다운로드

등록자송영호

등록일2004-02-23

조회수3,936

  • 페이스북 공유
  • 트위터 공유
  • Google+ 공유
  • 인쇄하기
 
스팸방지코드 :
번호 제목 등록자 등록일 조회수
98 임베디드시 HBE-Allinone 연습문제 해답 관련

HB_MCU

2013.10.14 26,309
97 유비쿼터스 TinyOS 2.0 소스코드를 ZigbeXStudio에서 사용하고자 할 때

HB_USN

2010.08.25 26,614
96 임베디드시 [SMII-P320] Mplayer 포팅가이드

임베디드팀

2010.06.15 26,026
95 유비쿼터스 [ZigbeX II] 온습도값이 안나오는 경우 해결방법

정윤호

2010.06.10 25,611
94 임베디드시 P320 장비계열 ADB 설치문서

박한수

2010.04.07 14,436
93 임베디드시 [Android] Eclipse 실행 시 오류 해결 방법

S/W팀

2010.04.02 13,360
92 유비쿼터스 WinAVR로 만든 ZigbeX2 LED제어 예제

이철희

2010.03.09 13,460
91 임베디드시 Android 탑재 제품에서 사용가능한 USB 무선랜 및 USB GPS

S/W팀

2010.03.04 14,797
90 임베디드시 Windows Embedded CE 6.0 개발툴 다운로드 링크

HB_Embedded

2009.11.04 13,605
89 임베디드시 CDMA2관련 질문!!

이강은

2008.12.11 5,736