Hi again,
 
I just noticed a function called ethernet_input(). Weird, haven't noticed that 
before.
Anyways, the contents of that function answers my first question.
 
But:
 
Has there been made crucial updates to the lwip core files, since the lwip 
1.3.0 stable version was released ?If yes, does these changes affect me ?
 
best regards,
Martin



From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: [lwip-users] lwip 1.3.0-stable, 
handling input in ethernetif_input()Date: Thu, 20 Nov 2008 08:54:00 +0100

Hi list, I am using lwip 1.3.0-stable, I am using the Netconn API.Through lwip 
i run a webserver and a server client.In lwip i use the following: - TCP- DHCP- 
ARP- UDP (DHCP) I have through the last two days, reviewed my port files, 
ethernetif.c and sys_arch.c. Which led to small changes in the code, which 
resulted in greaterstability. However, i have seen two different 
implementations of ethernetif_input(),where the input is handled differently 
(see below), but both seem to work. So my questions are:1. Are both 
implementations of the ethernetif_input(), valid ? (see code below)2. Has there 
been made crucial updates to the lwip core files, since the lwip 1.3.0 stable 
version was released ?2.a If yes, does these changes affect me ?1. 
(ETHARP_TRUST_IP_MAC is defined in lwipopts.h)static voidethernetif_input( void 
* pvParameters ){....switch( htons( ethhdr->type ) ) {  // IP packet?  case 
ETHTYPE_IP:  // pass to network layer   if (xNetIf->input( p, xNetIf ) != 
ERR_OK)  {   pbuf_free( p );   p = NULL;  }    break;  case ETHTYPE_ARP:  #if 
ETHARP_TRUST_IP_MAC  // update ARP table    etharp_ip_input( xNetIf, p );#endif 
 // pass p to ARP module    etharp_arp_input( xNetIf, ethernetif->ethaddr, p ); 
  break;   default:   pbuf_free( p );   p = NULL;   break; }} 2.static 
voidethernetif_input( void * pvParameters ){.... switch( htons( ethhdr->type ) 
)  {   // IP packet?    case ETHTYPE_IP:    // update ARP table     
etharp_ip_input( xNetIf, p );      // skip Ethernet header     pbuf_header( p, 
(s16_t)-sizeof(struct eth_hdr) );      // pass to network layer     if 
(xNetIf->input( p, xNetIf ) != ERR_OK)    {     pbuf_free( p );     p = NULL;   
 }      break;     case ETHTYPE_ARP:    // pass p to ARP module     
etharp_arp_input( xNetIf, ethernetif->ethaddr, p );    break;     default:    
pbuf_free( p );    p = NULL;    break;  }} best regards,Martin



Connect to the next generation of MSN Messenger  Get it now! 
_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to