From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17140 invoked by alias); 23 Oct 2007 09:05:07 -0000 Received: (qmail 17131 invoked by uid 22791); 23 Oct 2007 09:05:06 -0000 X-Spam-Check-By: sourceware.org Received: from pop132.ocn.ne.jp (HELO pop132.ocn.ne.jp) (60.37.31.215) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 23 Oct 2007 09:05:02 +0000 Received: from ariga (p1143-ipbf2202marunouchi.tokyo.ocn.ne.jp [122.17.131.143]) by pop132.ocn.ne.jp (OCN) with SMTP id l9N94viS025188; Tue, 23 Oct 2007 18:04:57 +0900 (JST) Message-ID: <001401c81553$c95f6440$1c0110ac@ariga> From: "ariga masahiro" To: "Alok Singh" Cc: References: <000501c7f691$4847e2f0$1c0110ac@ariga> <20070914082224.GA16840@lunn.ch> <000501c80eef$edf10f30$1c0110ac@ariga> <47134CDD.1080604@mlbassoc.com> <004301c80fa1$3dcb15d0$1c0110ac@ariga> <47149BA6.1080500@mlbassoc.com> <001301c81091$1d11b060$1c0110ac@ariga> <4715F2D0.7080704@mlbassoc.com> <000c01c81151$9add59c0$1c0110ac@ariga> <47173F99.80405@mlbassoc.com> <000601c8120c$667aa3c0$1c0110ac@ariga> <47187EEB.5020109@mlbassoc.com> <000501c8154d$ecc04db0$1c0110ac@ariga> Date: Tue, 23 Oct 2007 09:05:00 -0000 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0011_01C8159F.392F1770" X-Mailer: Microsoft Outlook Express 6.00.2900.2869 X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] What functions should I call in ethernet drv ? X-SW-Source: 2007-10/txt/msg00118.txt.bz2 ------=_NextPart_000_0011_01C8159F.392F1770 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 8bit Content-length: 5885 Hello sir, I send target's output log file. This is after I chnged coding. I also send Etherreal file from host. I am sorry I don't know how to change text. Are they suitable for your request ? Masahiro Ariga ----- Original Message ----- From: "Alok Singh" To: "ariga masahiro" Cc: Sent: Tuesday, October 23, 2007 5:27 PM Subject: RE: [ECOS] What functions should I call in ethernet drv ? Ariga, Can you send us the dump of IP packet also (not ARP) on your system? We want to make sure that you are seeing the problem only with Arp packet. Send 64 bytes starting with Ethernet header. -Alok -----Original Message----- From: ecos-discuss-owner@ecos.sourceware.org [mailto:ecos-discuss-owner@ecos.sourceware.org] On Behalf Of ariga masahiro Sent: Tuesday, October 23, 2007 1:53 PM To: Gary Thomas Cc: ecos-discuss@ecos.sourceware.org Subject: Re: [ECOS] What functions should I call in ethernet drv ? Hello Gary and others, I have learned ARP operation. I've got "TCP/IP illustrated vol2" by W.Richard Stevens. I have traced to ARP interpreting point. First I breaked lan91cxx_recv() when received ARP packet, and next breaked if_ethersubr.c's ether_input(ifp, eh, m) function. And I traced into ether_demux(). ether_demux(ifp, eh, m) 594: switch (ether_type) { 595: #ifdef INET 596: case ETHERTYPE_IP: 597: if (ipflow_fastforward(m)) 598: return; 599: schednetisr(NETISR_IP); 600: inq = &ipintrq; 601: break; 602: 603: case ETHERTYPE_ARP: 604: if (ifp->if_flags & IFF_NOARP) { 605: /* Discard packet if ARP is disabled on interface */ 606: m_freem(m); 607: return; 608: } 609: schednetisr(NETISR_ARP); 610: inq = &arpintrq; 611: break; and I found ether_type==0x0608,so couldn't recognize ARP. I concluded entering data in little Endian is wrong, so as a makeshift I amended source next. First I concocted get_data_byte(struct eth_drv_sc *sc) to get data exchangedly like I previously sent the coding. And I alse concocted in cyg_uint16 get_data_short like below to echange data. 1079: cyg_uint16 get_data_short(struct eth_drv_sc *sc) 1080: { 1081: cyg_uint16 val; 1082: 1083: val = get_data_byte(sc); 1084: //val |= get_data_byte(sc)<<8; val = val<<8 | get_data_byte(sc); --I concocted to reverse data. 1085: 1086: return CYG_LE16_TO_CPU(val); 1087: } I know it's bad coding but as I said this is a makeshift and I expect your best amended source.(on condition I was right) Anyway I could continue debugging. After that I confirmed that following interrrupt, it entered in if_ether.c's arpintr(). Then I traced into in_arpinput(m), and according to the book,here send ARP-reply. My expectancy reached high. But alas,in in_arpinput(m) didn't go to the point of sending packet. The reason was, in first part of coding, 529: in_arpinput(m) 530: struct mbuf *m; 531: { 532: register struct ether_arp *ea; 533: register struct arpcom *ac = (struct arpcom *)m->m_pkthdr.rcvif; 534: struct ether_header *eh; 535: struct iso88025_header *th = (struct iso88025_header *)0; 536: register struct llinfo_arp *la = 0; 537: register struct rtentry *rt; 538: struct in_ifaddr *ia, *maybe_ia = 0; 539: struct sockaddr_dl *sdl; 540: struct sockaddr sa; 541: struct in_addr isaddr, itaddr, myaddr; 542: int op, rif_len; 543: 544: if (m->m_len < sizeof(struct ether_arp) && 545: (m = m_pullup(m, sizeof(struct ether_arp))) == NULL) { 546: log(LOG_ERR, "in_arp: runt packet -- m_pullup failed\n"); 547: return; 548: } 549: 550: ea = mtod(m, struct ether_arp *); 551: op = ntohs(ea->arp_op); 552: (void)memcpy(&isaddr, ea->arp_spa, sizeof (isaddr)); 553: (void)memcpy(&itaddr, ea->arp_tpa, sizeof (itaddr)); 554: for (ia = in_ifaddrhead.tqh_first; ia; ia = ia->ia_link.tqe_next) { 555: /* 556: * For a bridge, we want to check the address irrespective 557: * of the receive interface. (This will change slightly 558: * when we have clusters of interfaces). 559: */ 560: #ifdef BRIDGE 561: #define BRIDGE_TEST (do_bridge) 562: #else 563: #define BRIDGE_TEST (0) /* cc will optimise the test away */ 564: #endif 565: if ((BRIDGE_TEST) || (ia->ia_ifp == &ac->ac_if)) { 566: maybe_ia = ia; 567: if ((itaddr.s_addr == ia->ia_addr.sin_addr.s_addr) || 568: (isaddr.s_addr == ia->ia_addr.sin_addr.s_addr)) { 569: break; 570: } 571: } 572: } 573: if (maybe_ia == 0) { 574: m_freem(m); 575: return; 576: } 577: myaddr = ia ? ia->ia_addr.sin_addr : maybe_ia->ia_addr.sin_addr; --ia,ยช00 at 554 line,there was nothing in_ifaddrhead.tqh_first, and at 577, ia became 00000000. Here,Gary, I sincerely ask your opinion. The trouble is there is nothing in in_ifaddrhead.tqh_first, do you have any idea what caused this mishappening ? I expect your any hints whatever. Thanks in advance. Masahiro Ariga -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss ------=_NextPart_000_0011_01C8159F.392F1770 Content-Type: application/x-gzip; name="MyFlashIDis422f9019.txt.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="MyFlashIDis422f9019.txt.gz" Content-length: 3331 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 0ekBSGhekt9uze0TygnhewH07GVHE/n9nd/u+RGV7FXpul3tvEss0FvKK+WP dCzNALOzuAQZxymFrgk9E7o9VQ5Pxlrak57abzT+bTTWx88l36nkW6kmQSDh k2f1j95TP1QDUwftXBUIlKqpUHB52Wj86XjN1yNWPBq6GNP6hwI0iRq73gTd AF2LP3fVec0H/dPzXv+v/RXfmbLXXMIkhq7PmYtMw8+P/dNeN/XnZ25C9ZL7 iILklUr2NJ/s6XFJTjfLcvqu+ZWU5VfydH7deIKgmF8xv27Jr2z//NrG/Ir5 9c3lV71dlF+7m/m1vVt+1dsvm1/19svmV7392+bXouS1x8P0DvmVp2Im970o 8N167duqGLrPI/c7/MoCz/FGFpwFjiqyypn3TpUpj2AycyPnRFVChYlvC6xv ighEIAIRiPh/IKpZmAeLmyDiacS2/xZ/KQTuREQgAuubIgIRiEAEIg4OUc3H D7yxRMQr3V7ticD6pohABNY3RSZkQiZkQiZkQiZkegNMVXxtvYrWIRMyVZMJ y0Vk5FUszVBFpiqu3dtmquLaVXFMh2vdAZeLeNFf2F7Zh7UnlrUnsOJEhBUn XqvihNji2EUN5RUnxC4VJ/by8Czn9ooT2+zYfJPFzDpfUcUJpXJoFSdKJ6Gs 4gQvnpwnKk4ohdXU8HLq1Ms3/rQoE5n5xFISG/HdHUQgAhGIQMRvhajmL53h L+4g4mkEvruDCEQcoA/iIw4iEIEIRCDi9RHVfPzAG0tEvNLt1Z4IfHcHEYjA d3eQCZmQCZmQCZmQCZneAFMV3yGoonXIhEzVZMJ3dzLyKr4nU0WmKq4dMh2u t/x+rcMvrJAJmZAJmZDpOUz/Beu12lH+wwAA ------=_NextPart_000_0011_01C8159F.392F1770 Content-Type: application/octet-stream; name="thisishost" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="thisishost" Content-length: 2127 1MOyoQIABAAAAAAAAAAAAP//AAABAAAAobMdRwJ7CgA8AAAAPAAAAAAAAAAA AAAA3KjMd////////wBAMQgBAAgGAAEIAAYEAAEAQDEIAQCsEAHIAAAAAAAA rBAByAAAAAAAAKKzHUdNDAIAPAAAADwAAAAAAAAAAAAAADL1+mb///////8A QDEIAQAIBgABCAAGBAABAEAxCAEArBAByAAAAAAAAKwQAcgAAAAAAACisx1H fd8IADwAAAA8AAAAAAAAAAAAAAAy9fpm////////AEAxCAEACAYAAQgABgQA AQBAMQgBAKwQAcgAAAAAAACsEAHIAAAAAAAAo7MdR3ZwAAA8AAAAPAAAAAAA AAAAAAAAMvX6Zv///////wBAMQgBAAgGAAEIAAYEAAEAQDEIAQCsEAHIAAAA AAAArBAByAAAAAAAAKOzHUf/QwcAPAAAADwAAAAAAAAAAAAAADL1+mb///// //8AQDEIAQAIBgABCAAGBAABAEAxCAEArBAByAAAAAAAAKwQAcgAAAAAAACj sx1HMxcOADwAAAA8AAAAAAAAAAAAAAAy9fpm////////AEAxCAEACAYAAQgA BgQAAQBAMQgBAKwQAcgAAAAAAACsEAHIAAAAAAAApLMdRyeoBQA8AAAAPAAA AAAAAAAAAAAAMvX6Zv///////wBAMQgBAAgGAAEIAAYEAAEAQDEIAQCsEAHI AAAAAAAArBAByAAAAAAAAKWzHUfOywwAKgAAACoAAAD///////8AFcVtI/AI BgABCAAGBAABABXFbSPwrBABHAAAAAAAAKwQARymsx1HZcwAACoAAAAqAAAA ////////ABXFbSPwCAYAAQgABgQAAQAVxW0j8KwQARwAAAAAAACsEAEcp7Md R3PMAAAqAAAAKgAAAP///////wAVxW0j8AgGAAEIAAYEAAEAFcVtI/CsEAEc AAAAAAAArBABHKyzHUejtAIAKgAAACoAAAD///////8AFcVtI/AIBgABCAAG BAABABXFbSPwrBABHAAAAAAAAKwQAQGssx1HkBgKAG4AAABuAAAA//////// ABXFbSPwCABFAABgNokAAIARqMisEAEcrBAB/wCJAIkATEwThD8pEAABAAAA AAABIEVCRkNFSkVIRUJDQUNBQ0FDQUNBQ0FDQUNBQ0FDQUFBAAAgAAHADAAg AAEABJPgAAZgAKwQARyssx1HaFwMADwAAAA8AAAA////////AEAxCAEACAYA AQgABgQAAQBAMQgBAKwQAcgAAAAAAACsEAHIAAAAAAAAAAAAAAAAAAAAAAAA rbMdR8FHBgBuAAAAbgAAAP///////wAVxW0j8AgARQAAYDaKAACAEajHrBAB HKwQAf8AiQCJAExME4Q/KRAAAQAAAAAAASBFQkZDRUpFSEVCQ0FDQUNBQ0FD QUNBQ0FDQUNBQ0FBQQAAIAABwAwAIAABAAST4AAGYACsEAEcrrMdRx13AgBu AAAAbgAAAP///////wAVxW0j8AgARQAAYDaLAACAEajGrBABHKwQAf8AiQCJ AExME4Q/KRAAAQAAAAAAASBFQkZDRUpFSEVCQ0FDQUNBQ0FDQUNBQ0FDQUNB Q0FBQQAAIAABwAwAIAABAAST4AAGYACsEAEcrrMdR7B3AgCvAAAArwAAAAEA Xn//+gAVxW0j8AgARQAAoTaMAAABEeWZrBABHO////oHiQdsAI2szk0tU0VB UkNIICogSFRUUC8xLjENCkhvc3Q6MjM5LjI1NS4yNTUuMjUwOjE5MDANClNU OnVybjpzY2hlbWFzLXVwbnAtb3JnOmRldmljZTpJbnRlcm5ldEdhdGV3YXlE ZXZpY2U6MQ0KTWFuOiJzc2RwOmRpc2NvdmVyIg0KTVg6Mw0KDQqxsx1H/nYC ACoAAAAqAAAA////////ABXFbSPwCAYAAQgABgQAAQAVxW0j8KwQARwAAAAA AACsEAECsbMdRzFICwA8AAAAPAAAAP///////wBAMQgBAAgGAAEIAAYEAAEA QDEIAQCsEAHIAAAAAAAArBAByAAAAAAAAAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0011_01C8159F.392F1770 Content-Type: text/plain; charset=us-ascii Content-length: 148 -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss ------=_NextPart_000_0011_01C8159F.392F1770--