X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fdevices%2Fvnet.h;fp=palacios%2Finclude%2Fdevices%2Fvnet.h;h=0000000000000000000000000000000000000000;hp=91cde553feaf6e36da903a7c8e4ccef9e370edbc;hb=0351e0cd3603086bf45b90c030d8657410cf461e;hpb=062b88a9cfd1a538782ebcd67c65f59a1a5a8d56 diff --git a/palacios/include/devices/vnet.h b/palacios/include/devices/vnet.h deleted file mode 100644 index 91cde55..0000000 --- a/palacios/include/devices/vnet.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - * This file is part of the Palacios Virtual Machine Monitor developed - * by the V3VEE Project with funding from the United States National - * Science Foundation and the Department of Energy. - * - * The V3VEE Project is a joint project between Northwestern University - * and the University of New Mexico. You can find out more at - * http://www.v3vee.org - * - * Copyright (c) 2009, Lei Xia - * Copyright (c) 2009, Yuan Tang - * Copyright (c) 2009, Jack Lange - * Copyright (c) 2009, Peter Dinda - * All rights reserved. - * - * Author: Lei Xia - * Yuan Tang - * Jack Lange - * Peter Dinda -#include -#include -#include -#include -#include - - -#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) - -//the routing entry -struct routing { - char src_mac[6]; - char dest_mac[6]; - - int src_mac_qual; - int dest_mac_qual; - - int dest; - int type; //EDGE_TYPE|INTERFACE_TYPE - - int src; - int src_type; - - int use; - - int next; - int prev; -}; - - //This is the structure that stores the topology -struct topology { - SOCK link_sock; - - unsigned long dest; - - // Port for UDP - unsigned short remote_port; - - // LINK OR GATEWAY - // int link_class; - - int use; - int type; //TCP=0, UDP=1,VTP=2, can be extended so on - - int next; - int prev; -}; - -struct sock_list { - SOCK sock; - - 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 device_list { - struct vnet_if_device *device; - - int use; - int type; - - 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]; -}; - -#define FOREACH(iter, list, start) for (iter = start; iter != -1; iter = list[iter].next) -#define FOREACH_SOCK(iter, socks, start) FOREACH(iter, socks, start) -#define FOREACH_LINK(iter, links, start) FOREACH(iter, links, start) -#define FOREACH_ROUTE(iter, routes, start) FOREACH(iter, routes, start) -#define FOREACH_DEVICE(iter, devices, start) FOREACH(iter, devices, start) - - -int V3_Send_pkt(uchar_t *buf, int length); -int V3_Register_pkt_event(int (*netif_input)(uchar_t * pkt, uint_t size)); - - -int vnet_send_pkt(char *buf, int length); -int vnet_register_pkt_event(char *dev_name, int (*netif_input)(uchar_t * pkt, uint_t size), void *data); - -int vnet_pkt_process(); - -void vnet_init(); - -#endif - -