@ -183,10 +183,13 @@ int NetTimeOffset;
# endif
static uchar PktBuf [ ( PKTBUFSRX + 1 ) * PKTSIZE_ALIGN + PKTALIGN ] ;
# ifdef CONFIG_DM_ETH
/* Receive packets */
uchar * net_rx_packets [ PKTBUFSRX ] ;
# else
/* Receive packet */
uchar * NetRxPackets [ PKTBUFSRX ] ;
# endif
/* Current UDP RX packet handler */
static rxhand_f * udp_packet_handler ;
/* Current ARP RX packet handler */
@ -304,9 +307,15 @@ void net_init(void)
NetTxPacket = & PktBuf [ 0 ] + ( PKTALIGN - 1 ) ;
NetTxPacket - = ( ulong ) NetTxPacket % PKTALIGN ;
# ifdef CONFIG_DM_ETH
for ( i = 0 ; i < PKTBUFSRX ; i + + ) {
net_rx_packets [ i ] = NetTxPacket + ( i + 1 ) *
PKTSIZE_ALIGN ;
}
# else
for ( i = 0 ; i < PKTBUFSRX ; i + + )
NetRxPackets [ i ] = NetTxPacket + ( i + 1 ) * PKTSIZE_ALIGN ;
# endif
ArpInit ( ) ;
net_clear_handlers ( ) ;
@ -952,8 +961,7 @@ static void receive_icmp(struct ip_udp_hdr *ip, int len,
}
}
void
NetReceive ( uchar * inpkt , int len )
void net_process_received_packet ( uchar * in_packet , int len )
{
struct ethernet_hdr * et ;
struct ip_udp_hdr * ip ;
@ -967,9 +975,9 @@ NetReceive(uchar *inpkt, int len)
debug_cond ( DEBUG_NET_PKT , " packet received \n " ) ;
NetRxPacket = inpkt ;
NetRxPacket = in_ pac ke t ;
NetRxPacketLen = len ;
et = ( struct ethernet_hdr * ) inpkt ;
et = ( struct ethernet_hdr * ) in_ pac ke t ;
/* too small packet? */
if ( len < ETHER_HDR_SIZE )
@ -977,7 +985,7 @@ NetReceive(uchar *inpkt, int len)
# ifdef CONFIG_API
if ( push_packet ) {
( * push_packet ) ( inpkt , len ) ;
( * push_packet ) ( in_ pac ke t , len ) ;
return ;
}
# endif
@ -1004,11 +1012,11 @@ NetReceive(uchar *inpkt, int len)
*/
eth_proto = ntohs ( et802 - > et_prot ) ;
ip = ( struct ip_udp_hdr * ) ( inpkt + E802_HDR_SIZE ) ;
ip = ( struct ip_udp_hdr * ) ( in_ pac ke t + E802_HDR_SIZE ) ;
len - = E802_HDR_SIZE ;
} else if ( eth_proto ! = PROT_VLAN ) { /* normal packet */
ip = ( struct ip_udp_hdr * ) ( inpkt + ETHER_HDR_SIZE ) ;
ip = ( struct ip_udp_hdr * ) ( in_ pac ke t + ETHER_HDR_SIZE ) ;
len - = ETHER_HDR_SIZE ;
} else { /* VLAN packet */
@ -1033,7 +1041,7 @@ NetReceive(uchar *inpkt, int len)
vlanid = cti & VLAN_IDMASK ;
eth_proto = ntohs ( vet - > vet_type ) ;
ip = ( struct ip_udp_hdr * ) ( inpkt + VLAN_ETHER_HDR_SIZE ) ;
ip = ( struct ip_udp_hdr * ) ( in_ pac ke t + VLAN_ETHER_HDR_SIZE ) ;
len - = VLAN_ETHER_HDR_SIZE ;
}