X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fdevices%2Fvnet.h;h=91cde553feaf6e36da903a7c8e4ccef9e370edbc;hp=2c043c3c4d05ffd10e7c9352f3779782e09fa49b;hb=062b88a9cfd1a538782ebcd67c65f59a1a5a8d56;hpb=46db31bad625ca5d360ec78d8ea2accce1faac6a diff --git a/palacios/include/devices/vnet.h b/palacios/include/devices/vnet.h index 2c043c3..91cde55 100644 --- a/palacios/include/devices/vnet.h +++ b/palacios/include/devices/vnet.h @@ -37,100 +37,83 @@ #define ETHERNET_HEADER_LEN 14 #define ETHERNET_DATA_MIN 46 #define ETHERNET_DATA_MAX 1500 -#define ETHERNET_PACKET_LEN (ETHERNET_HEADER_LEN+ETHERNET_DATA_MAX) - -struct ethAddr{ - char addr[6]; -}; - -#define SOCK int - -#define TCP_TYPE 0 -#define UDP_TYPE 1 - -#define TCP_STR "TCP" -#define UDP_STR "UDP" - -/* -#define HANDLER_ERROR -1 -#define HANDLER_SUCCESS 0 -*/ +#define ETHERNET_PACKET_LEN (ETHERNET_HEADER_LEN + ETHERNET_DATA_MAX) //the routing entry struct routing { - char src_mac[6]; - char dest_mac[6]; + char src_mac[6]; + char dest_mac[6]; - int src_mac_qual; - int dest_mac_qual; + int src_mac_qual; + int dest_mac_qual; - int dest; - int type; //EDGE_TYPE|INTERFACE_TYPE + int dest; + int type; //EDGE_TYPE|INTERFACE_TYPE - int src; - int src_type; + int src; + int src_type; - int use; + int use; - int next; - int prev; + int next; + int prev; }; //This is the structure that stores the topology struct topology { - SOCK link_sock; + SOCK link_sock; - unsigned long dest; + unsigned long dest; - // Port for UDP - unsigned short remote_port; + // Port for UDP + unsigned short remote_port; - // LINK OR GATEWAY - // int link_class; + // LINK OR GATEWAY + // int link_class; - int use; - int type; //TCP=0, UDP=1,VTP=2, can be extended so on + int use; + int type; //TCP=0, UDP=1,VTP=2, can be extended so on - int next; - int prev; + int next; + int prev; }; struct sock_list { - SOCK sock; + SOCK sock; - int next; - int prev; + int next; + int prev; }; #define GENERAL_NIC 0 -struct vnet_if_device{ - char name[50]; - struct ethAddr device_addr; - - int (*input)(uchar_t * pkt, uint_t size); - - void *data; +struct vnet_if_device { + char name[50]; + struct ethAddr device_addr; + + int (*input)(uchar_t * pkt, uint_t size); + + void * data; }; struct device_list { - struct vnet_if_device *device; + struct vnet_if_device *device; - int use; - int type; + int use; + int type; - int next; - int prev; + int next; + int prev; }; // 14 (ethernet frame) + 20 bytes struct HEADERS { - char ethernetdest[6]; - char ethernetsrc[6]; - unsigned char ethernettype[2]; // indicates layer 3 protocol type - char ip[20]; + char ethernetdest[6]; + char ethernetsrc[6]; + unsigned char ethernettype[2]; // indicates layer 3 protocol type + char ip[20]; }; #define FOREACH(iter, list, start) for (iter = start; iter != -1; iter = list[iter].next)