Clean Debug messages

This commit is contained in:
Manoel R. Abranches 2010-06-29 06:50:15 -03:00
parent 1edb7287ff
commit 3ec6213b17
8 changed files with 46 additions and 80 deletions

View file

@ -56,7 +56,7 @@ grub_ofnet_open (const char *name, grub_disk_t disk)
{
if (grub_strcmp (name, "network"))
if (grub_strcmp (name, "net"))
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "not a net disk");
disk->total_sectors = U64MAXSIZE;
@ -109,7 +109,7 @@ grub_ofnetfs_dir (grub_device_t device ,
int (*hook) (const char *filename,
const struct grub_dirhook_info *info) __attribute((unused)))
{
if(grub_strcmp (device->disk->name,"network"))
if(grub_strcmp (device->disk->name,"net"))
{
return grub_error (GRUB_ERR_BAD_FS, "not an net filesystem");
}
@ -140,7 +140,7 @@ grub_ofnetfs_open (struct grub_file *file , const char *name )
//grub_addr_t addr;
if (name[0] == '/')
name++;
if(grub_strcmp (file->device->disk->name,"network"))
if(grub_strcmp (file->device->disk->name,"net"))
{
return 1;
@ -161,80 +161,43 @@ grub_ofnetfs_open (struct grub_file *file , const char *name )
grub_netbuff_reserve (pack,80*1024);
file_size = app_interface->app_prot->get_file_size(NULL,stack,pack,(char *) name);
for (found_addr = 0x800000; found_addr < + 2000 * 0x100000; found_addr += 0x100000)
{
// grub_printf("trying to claim %d bytes at 0x%x\n",file_size,found_addr);
if (grub_claimmap (found_addr , file_size) != -1)
break;
}
// grub_printf("Claimed %d bytes at 0x%x\n",file_size,found_addr);
file->data = (void *) found_addr;
// grub_printf("file->data = 0x%x\n",(int)file->data);
// grub_printf("file_size = %d\n",file_size);
// grub_printf("OPEN\n");
grub_netbuff_clear(pack);
grub_netbuff_reserve (pack,80*1024);
app_interface->app_prot->open (NULL,stack,pack,(char *) name);
do {
//if (app_interface->app_prot->recv (NULL,stack,pack) == GRUB_ERR_NONE)
// grub_printf("RECEIVE PACKET\n");
do
{
grub_netbuff_clear(pack);
grub_netbuff_reserve (pack,80*1024);
app_interface->app_prot->recv (NULL,stack,pack);
if (grub_errno != GRUB_ERR_NONE)
return grub_errno;
// grub_printf("RECEIVED PACKET\n");
// {
// grub_printf("payload_size= %d\n",pack->tail - pack->data);
// grub_printf("amount= %d\n",amount);
// grub_printf("file_size= %d\n",file_size);
datap = (char *)file->data + amount;
amount += (pack->tail - pack->data);
// grub_printf("datap = 0x%x\n",(int)datap );
grub_memcpy(datap, pack->data, pack->tail - pack->data);
// grub_printf("SEND ACK\n");
goto error;
if ((pack->tail - pack->data))
{
// file->data = grub_realloc(file->data,amount + pack->tail - pack->data);
datap = (char *)file->data + amount;
amount += (pack->tail - pack->data);
grub_memcpy(datap , pack->data, pack->tail - pack->data);
}
grub_netbuff_clear(pack);
grub_netbuff_reserve (pack,80*1024);
app_interface->app_prot->send_ack (NULL,stack,pack);
if (grub_errno != GRUB_ERR_NONE)
return grub_errno;
// grub_printf("SENT ACK\n");
//}
// file->data = grub_realloc(file->data,amount);
goto error;
}while (amount < file_size);
// grub_printf("transfer complete\n");
file->size = file_size;
// grub_netbuff_free(pack);
/*Start ARP header*/
// arp.arpr.hwtype = 0x1; /* hardware type (must be ARPHRD_ETHER) */
// arp.arpr.protocol = 0x0800; /* protocol type (must be ETH_P_IP) */
// arp.arpr.hwlen = 0x6; /* hardware address length (must be 6) */
// arp.arpr.protolen = 0x4; /* protocol address length (must be 4) */
// arp.arpr.opcode = 0x1; /* ARP opcode */
/*arp.arpr.shwaddr[0] =0x0a ;
arp.arpr.shwaddr[1] =0x11 ;
arp.arpr.shwaddr[2] =0xbd ;
arp.arpr.shwaddr[3] =0xe3 ;
arp.arpr.shwaddr[4] =0xe3 ;
arp.arpr.shwaddr[5] =0x04 ;
arp.arpr.sipaddr = dhcp_pckt -> yiaddr; */ /* sender's IP address */
/*arp.arpr.thwaddr[0] =0;
arp.arpr.thwaddr[1] =0;
arp.arpr.thwaddr[2] =0;
arp.arpr.thwaddr[3] =0;
arp.arpr.thwaddr[4] =0;
arp.arpr.thwaddr[5] =0;
arp.arpr.tipaddr = dhcp_pckt -> siaddr; */ /* target's IP address */
/*END ARP header */
file->size = file_size;
error:
grub_netbuff_free(pack);
return grub_errno;
}

View file

@ -5,6 +5,7 @@
#define UDP_PCKT 0x11
#define IP_PCKT 0x0800
#define TIMEOUT_TIME_MS 3*1000
typedef enum
{
GRUB_NET_TFTP_ID,

View file

@ -7,6 +7,7 @@
#include <grub/net/netbuff.h>
#include <grub/net/interface.h>
#include <grub/net.h>
#include <grub/time.h>
static grub_err_t
send_ethernet_packet (struct grub_net_network_layer_interface *inf __attribute__ ((unused)),
@ -42,6 +43,8 @@ recv_ethernet_packet (struct grub_net_network_layer_interface *inf __attribute__
struct grub_net_network_link_interface *net_link_inf __attribute__ ((unused)) ,struct grub_net_buff *nb)
{
struct etherhdr *eth;
grub_uint64_t start_time, current_time;
start_time = grub_get_time_ms();
while (1)
{
get_card_packet (nb);
@ -59,6 +62,9 @@ recv_ethernet_packet (struct grub_net_network_layer_interface *inf __attribute__
grub_netbuff_pull(nb,sizeof(*eth));
return 0;
}
current_time = grub_get_time_ms();
if (current_time - start_time > TIMEOUT_TIME_MS)
return grub_error (GRUB_ERR_TIMEOUT, "Time out.");
}
/* - get ethernet header
- verify if the next layer is the desired one.

View file

@ -29,9 +29,7 @@ int send_card_buffer (struct grub_net_buff *pack)
{
int actual;
//grub_printf("packet size transmited: %d\n",pack->tail - pack->data);
grub_ieee1275_write (handle,pack->data,pack->tail - pack->data,&actual);
// grub_printf("actual transmited %d\n",actual);
return actual;
}
@ -50,18 +48,11 @@ int get_card_packet (struct grub_net_buff *pack __attribute__ ((unused)))
do
{
grub_ieee1275_read (handle,datap,sizeof (*eth),&actual);
// if (actual <= 0)
// grub_millisleep(10);
}while (actual <= 0);
eth = (struct etherhdr *) datap;
datap += sizeof(*eth);
// grub_printf("ethernet eth->dst %x:%x:%x:%x:%x:%x\n",eth->dst[0],
// eth->dst[1],eth->dst[2],eth->dst[3],eth->dst[4],eth->dst[5]);
// grub_printf("ethernet eth->src %x:%x:%x:%x:%x:%x\n",eth->src[0],eth->src[1],
// eth->src[2],eth->src[3],eth->src[4],eth->src[5]);
// grub_printf ("eth.type 0x%x\n",eth->type);
switch (eth->type)
{
@ -77,10 +68,6 @@ int get_card_packet (struct grub_net_buff *pack __attribute__ ((unused)))
iph = (struct iphdr *) datap;
datap += sizeof(*iph);
// grub_printf("ip.src 0x%x\n",iph->src);
// grub_printf("ip.dst 0x%x\n",iph->dest);
// grub_printf("ip.len 0x%x\n",iph->len);
// grub_printf("ip.protocol 0x%x\n",iph->protocol);
grub_ieee1275_read (handle,datap,iph->len - sizeof (*iph),&actual);
@ -89,11 +76,8 @@ int get_card_packet (struct grub_net_buff *pack __attribute__ ((unused)))
break;
case 0x86DD:
grub_printf("!!!!!!!!!!!!!!!!!IPV6 packet received!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
grub_ieee1275_read (handle,datap,sizeof (*ip6h),&actual);
ip6h = (struct ip6hdr *) datap;
grub_printf("ip6hdr->payload_len = %x\n",ip6h->payload_len);
grub_printf("ip6hdr->nexthdr = %x\n",ip6h->nexthdr);
datap += sizeof(*ip6h);
grub_ieee1275_read (handle,datap,ip6h->payload_len - sizeof (*ip6h),&actual);

View file

@ -7,6 +7,7 @@
#include <grub/net.h>
#include <grub/net/netbuff.h>
#include <grub/mm.h>
#include <grub/time.h>
struct grub_net_protocol *grub_ipv4_prot;
@ -65,6 +66,8 @@ recv_ip_packet (struct grub_net_network_layer_interface *inf,
{
struct iphdr *iph;
grub_uint64_t start_time, current_time;
start_time = grub_get_time_ms();
while (1)
{
trans_net_inf->inner_layer->link_prot->recv(inf,trans_net_inf->inner_layer,nb);
@ -74,6 +77,10 @@ recv_ip_packet (struct grub_net_network_layer_interface *inf,
grub_netbuff_pull(nb,sizeof(*iph));
return 0;
}
current_time = grub_get_time_ms();
if (current_time - start_time > TIMEOUT_TIME_MS)
return grub_error (GRUB_ERR_TIMEOUT, "Time out.");
}
/* grub_printf("ip.src 0x%x\n",iph->src);
grub_printf("ip.dst 0x%x\n",iph->dest);

View file

@ -41,11 +41,6 @@ grub_err_t grub_netbuff_unput (struct grub_net_buff *net_buff ,grub_size_t len)
grub_err_t grub_netbuff_push (struct grub_net_buff *net_buff ,grub_size_t len)
{
net_buff->data -= len;
/* grub_printf("push len =%d\n",len);
grub_printf("pack->head =%x\n",(unsigned int)net_buff->head);
grub_printf("pack->data =%x\n",(unsigned int)net_buff->data);
grub_printf("pack->tail =%x\n",(unsigned int)net_buff->tail);
grub_printf("pack->end =%x\n",(unsigned int)net_buff->end);*/
if (net_buff->data < net_buff->head)
return grub_error (GRUB_ERR_OUT_OF_RANGE, "push out of the packet range.");
return GRUB_ERR_NONE;
@ -87,7 +82,7 @@ struct grub_net_buff *grub_netbuff_alloc ( grub_size_t len )
grub_err_t grub_netbuff_free (struct grub_net_buff *net_buff)
{
grub_free (net_buff);
grub_free (net_buff->head);
return 0;
}

View file

@ -70,7 +70,7 @@ tftp_open (struct grub_net_network_layer_interface *inf __attribute((unused)),
grub_netbuff_push (nb,sizeof (*tftph));
udp_interf = (struct udp_interf *) app_interface->data;
udp_interf->src = TFTP_CLIENT_PORT + rrq_count++;
udp_interf->src = TFTP_CLIENT_PORT;// + rrq_count++;
udp_interf->dst = TFTP_SERVER_PORT;
tftph = (struct tftphdr *) nb->data;
@ -112,6 +112,8 @@ tftp_open (struct grub_net_network_layer_interface *inf __attribute((unused)),
app_interface->trans_prot->send (inf,protstack->interface,nb);
/*Receive OACK*/
grub_netbuff_clear (nb);
grub_netbuff_reserve (nb,80*1024);
return app_interface->app_prot->recv(inf,protstack,nb);
}
@ -211,6 +213,8 @@ static int tftp_file_size (struct grub_net_network_layer_interface* inf ,
{
tftp_open (inf, protocol_stack,nb, filename);
grub_netbuff_clear (nb);
grub_netbuff_reserve (nb,80*1024);
tftp_send_err (inf, protocol_stack,nb,"Abort transference.",0);
return tftp_file.size;

View file

@ -4,6 +4,7 @@
#include <grub/net/netbuff.h>
#include <grub/net/protocol.h>
#include <grub/net/interface.h>
#include <grub/time.h>
static grub_err_t
send_udp_packet (struct grub_net_network_layer_interface *inf,
@ -35,7 +36,8 @@ receive_udp_packet (struct grub_net_network_layer_interface *inf,
struct udphdr *udph;
struct udp_interf *udp_interf;
udp_interf = (struct udp_interf *) app_trans_inf->data;
grub_uint64_t start_time, current_time;
start_time = grub_get_time_ms();
while(1)
{
app_trans_inf->inner_layer->net_prot->recv(inf,app_trans_inf->inner_layer,nb);
@ -62,6 +64,10 @@ receive_udp_packet (struct grub_net_network_layer_interface *inf,
return 0;
}
current_time = grub_get_time_ms();
if (current_time - start_time > TIMEOUT_TIME_MS)
return grub_error (GRUB_ERR_TIMEOUT, "Time out.");
}
}