void NetDevInit(struct net_dev *net_dev ,long clientIP,long HostIP)
{
	int i = 0;
	
	temp_net_dev = net_dev;
	                               //initial function pointer
	net_dev->EthInit = EthInit;
	net_dev->req_rxpkt = req_rxpacket;
	net_dev->rxpkt = GetPacket;
	net_dev->txpkt = EthTx;
	net_dev->FreePacket = FreePacket;
	
	
	net_dev->HostIP = HostIP;
	net_dev->clientIP = clientIP; 
	


		
	 #if ReqRcv
	
	   {
	      section("sdram_netpkt") static struct netpkt netpkt[2500];
	   
	      net_dev->emptylist = netpkt;
	      net_dev->emptylist->wordsize = 0;
	   
	      for (i = 0;i < 2499;i++)
	          {
	       	      netpkt[i].next = &netpkt[i+1];
	       	      netpkt[i].wordsize = 0;
	          }
	       
	       net_dev->tail_empty = &netpkt[2499];
	       net_dev->emptypktcnt = 2500;
	       
	       net_dev->full_tail = null;
	       net_dev->fulllist = null;
	       net_dev->fullpktcnt = 0;
	   }
	
	#else
	
	   {
	       section("sdram_net")   static unsigned char   ImgBuf[16*1024*10]; 
	       net_dev->pBuf = ImgBuf;
	   }
	       
	#endif
}
