📄 testvnet3.c
字号:
//----------------------------------------------------------------------------//test set/get guestif mac addr//----------------------------------------------------------------------------#include <net/if.h>#include <sys/ioctl.h>//#include "if_vnet.h"//from linux/sockios.h#define SIOCGIFADDR 0x8915 /* get PA address */#define SIOCSIFADDR 0x8916 /* set PA address */void main(void){int tapif_fd;struct ifreq ifr;char buf[1024];unsigned char paddr[6];printf("test vnet ioctl\n");tapif_fd = open("/dev/net/vnet", 2);if(tapif_fd<0){ perror("open");exit(-1);};printf("open vnet ok!\n"); if (ioctl(tapif_fd, SIOCGIFADDR, (void *) paddr) < 0) { printf("get mac addr error\n"); exit(-1);}printf("ioctl vnet get mac addr ok, addr is %x:%x:%x:%x:%x:%x \n", paddr[0],paddr[1],paddr[2],paddr[3],paddr[4],paddr[5]);paddr[0]=0;paddr[1]=1;paddr[2]=2;paddr[3]=3;paddr[4]=4;paddr[5]=5;if (ioctl(tapif_fd, SIOCSIFADDR, (void *) paddr) < 0) { printf("set mac addr error\n"); exit(-1);}printf("ioctl vnet set mac addr ok\n");if (ioctl(tapif_fd, SIOCGIFADDR, (void *) paddr) < 0) { printf("get mac addr error\n"); exit(-1);}printf("ioctl vnet get mac addr ok, addr is %x:%x:%x:%x:%x:%x \n", paddr[0],paddr[1],paddr[2],paddr[3],paddr[4],paddr[5]);/*while(1){ sleep(30);};*/}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -