add: dprintf("\n");
context: static void dump_ipv4_header(net_buffer *buffer){	ipv4_header ip;	const char *pname;	g_stack->read_buffer(buffer, 0, &ip, sizeof(ip)); 	switch(ip.protocol) {	case 1: 	pname = "ICMP"; break;	case 6: 	pname = "TCP"; break;	case 17: 	pname = "UDP"; break;	default: 	pname = "unknown"; break;	};			dprintf("========== Internet Protocol (IPv4) =============\n");	dprintf("Station: ");	dump_ipv4_addr(&ip.src);	dprintf(" ----> ");	dump_ipv4_addr(&ip.dst);	dprintf("Protocol: %d (%s)\n", ip.protocol, pname);	dprintf("Version:  %d\n", ip.version_header_length >> 4);	dprintf("Header Length (32 bit words): %d (%d bytes)\n",		ip.version_header_length & 0x0f,		4 * (ip.version_header_length & 0x0f));	// TODO: dprintf("Precedence: \n");	dprintf("Total length: %d\n", ntohs(ip.total_length));	dprintf("Identification: %d\n", ntohs(ip.identification));	// TODO: dprintf("Fragmentation allowed, Last fragment\n");	dprintf("Fragment Offset: %d\n", ntohs(ip.flags_frag_offset) & 0x1fff);	dprintf("Time to Live: %d second(s)\n", ip.ttl);	dprintf("Checksum: 0x%X (%s)\n", ntohs(ip.header_checksum), "Valid");	// TODO: check the checksum!}