X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_ethernet.h;h=f43ba43653a386388f3faf5cbd2edb5533ba61fd;hb=60ad6a41c6d0ee08ed689e8505eb0c3df0c2a289;hp=1fd00acdd8a18b937234821a1982cea85d660a8b;hpb=4b11cc9abd662b9099b167c72afafa984b0a5b07;p=palacios.git diff --git a/palacios/include/palacios/vmm_ethernet.h b/palacios/include/palacios/vmm_ethernet.h index 1fd00ac..f43ba43 100644 --- a/palacios/include/palacios/vmm_ethernet.h +++ b/palacios/include/palacios/vmm_ethernet.h @@ -28,10 +28,9 @@ #define ETH_ALEN 6 #define MIN_MTU 68 -//#define MAX_MTU 65535 -#define MAX_MTU 9000 +#define MAX_MTU 65536 -#define MAX_PACKET_LEN (ETHERNET_HEADER_LEN + MAX_MTU) +#define MAX_PACKET_LEN (MAX_MTU + ETHERNET_HEADER_LEN) #ifdef V3_CONFIG_VNET extern int net_debug; @@ -54,27 +53,24 @@ struct nic_statistics { #include -#define V3_Net_Print(level, fmt, args...) \ +#define V3_Net_Print(level, fmt, args...) \ do { \ if(level <= net_debug) { \ - extern struct v3_os_hooks * os_hooks; \ - if ((os_hooks) && (os_hooks)->print) { \ - (os_hooks)->print((fmt), ##args); \ - } \ + V3_Print(VM_NONE, VCORE_NONE, fmt, ##args); \ } \ } while (0) static inline int is_multicast_ethaddr(const uint8_t * addr) { - V3_ASSERT(ETH_ALEN == 6); + V3_ASSERT(VM_NONE, VCORE_NONE, ETH_ALEN == 6); return (0x01 & addr[0]); } static inline int is_broadcast_ethaddr(const uint8_t * addr) { - V3_ASSERT(ETH_ALEN == 6); + V3_ASSERT(VM_NONE, VCORE_NONE, ETH_ALEN == 6); return (addr[0] & addr[1] & addr[2] & addr[3] & addr[4] & addr[5]) == 0xff; } @@ -85,7 +81,7 @@ static inline int compare_ethaddr(const uint8_t * addr1, const uint8_t * addr2) const uint16_t *a = (const uint16_t *) addr1; const uint16_t *b = (const uint16_t *) addr2; - V3_ASSERT(ETH_ALEN == 6); + V3_ASSERT(VM_NONE, VCORE_NONE, ETH_ALEN == 6); return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2])) != 0; } @@ -95,7 +91,7 @@ static inline int compare_ether_hdr(const uint8_t * hdr1, const uint8_t * hdr2) uint32_t *a32 = (uint32_t *)(hdr1 + 2); uint32_t *b32 = (uint32_t *)(hdr2 + 2); - V3_ASSERT(ETHERNET_HEADER_LEN == 14); + V3_ASSERT(VM_NONE, VCORE_NONE, ETHERNET_HEADER_LEN == 14); return (*(uint16_t *)hdr1 ^ *(uint16_t *)hdr2) | (a32[0] ^ b32[0]) | (a32[1] ^ b32[1]) | (a32[2] ^ b32[2]); @@ -103,9 +99,10 @@ static inline int compare_ether_hdr(const uint8_t * hdr1, const uint8_t * hdr2) /* AA:BB:CC:DD:EE:FF */ static inline int str2mac(char * macstr, uint8_t * mac){ - char hex[2], *s = macstr; + char hex[3], *s = macstr; int i = 0; + hex[2] = 0; while(s){ memcpy(hex, s, 2); mac[i++] = (char)atox(hex);