求助,想一号多拨,但无法用MACvlan多拨创建虚拟网卡

求助,想一号多拨,但无法用MACVLAN创建虚拟网卡_百度知道
求助,想一号多拨,但无法用MACVLAN创建虚拟网卡
安装kmod-macvlan,会自动识别Flash的大小你要是用的官方的固件,尽量用官方的,肯定不会提示你md5不匹配而停止安装,还有openwrt的代码已经进化。不知道TP841N V8是否被官方支持
其他类似问题
为您推荐:
虚拟网卡的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID7326331空间积分0 积分15阅读权限10帖子精华可用积分15 信誉积分190 专家积分0 在线时间65 小时注册时间最后登录
白手起家, 积分 15, 距离下一级还需 185 积分
帖子主题精华可用积分15 信誉积分190 专家积分0 在线时间65 小时注册时间最后登录
论坛徽章:0
linux 驱动 虚拟网卡 .在win7上的VMWare下安装Ubunt14.0系统,在虚拟linux系统上开发驱动,参照网上说明创建了一个虚拟网卡,现在有如下问题急待大侠指点,在线急等啊,谢谢
1、虚拟网卡创建成功后,通过ifconfig -a能发现,如果给虚拟接口priv0配置ip地址后接口也能UP,但是
在系统回调XGDev_open函数时,传入的net_device *dev指针为空,为什么?
2、在驱动执行sudo insmod gbs10.ko时,注册成功,但是有如下告警信息,是否是导致问题1的原因? 如何消除?
couldn't det ignoring...这个是不是导致问题1的原因?
lover@ubuntu:~/src/gbs10$ cat /var/log/syslog | tail
Apr 29 09:12:10 ubuntu kernel: [&&338.763216] /home/lover/src/gbs10/gbs10.c[1409] [Fun:XGDev_setup] begin ****** .(dev[0xe7382800])
Apr 29 09:12:10 ubuntu kernel: [&&338.763586] /home/lover/src/gbs10/gbs10.c[1456] [Fun:XGhold_realdev] begin ****** .(dev[0xe7382800], p[0xe7382d00])
Apr 29 09:12:10 ubuntu kernel: [&&338.763630] /home/lover/src/gbs10/gbs10.c[1470] [Fun:XGhold_realdev] real_dev[0xf59fe800].
Apr 29 09:12:10 ubuntu kernel: [&&338.764060] /home/lover/src/gbs10/gbs10.c[886] [Fun:XGDev_init] begin ****** .
Apr 29 09:12:10 ubuntu kernel: [&&338.764075] /home/lover/src/gbs10/gbs10.c[889] [Fun:XGDev_init] dev[0xe7382800], priv[0xe7382d00], real_dev[0xf59fe800].
Apr 29 09:12:10 ubuntu kernel: [&&338.770996] /home/lover/src/gbs10/gbs10.c[1516] [Fun:XGDev_Register] priv0 register successful.
Apr 29 09:12:10 ubuntu NetworkManager[883]: &warn& /sys/devices/virtual/net/priv0: couldn't det ignoring...Apr 29 09:12:10 ubuntu NetworkManager[883]:& & SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/priv0, iface: priv0)
Apr 29 09:12:10 ubuntu NetworkManager[883]:& & SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/priv0, iface: priv0): no ifupdown configuration found.
static int XGDev_open(struct net_device *dev)
& & printk(&%s[%d] [Fun:%s] begin ****** .(dev[0x%x]) \n&,
& & __FILE__, __LINE__,__func__, dev);
& & struct xg_dev_private *priv = netdev_priv(dev);
& & struct net_device *real_dev = priv-&
printk(&%s[%d] [Fun:%s] begin ****** .(dev[0x%x],priv[0x%x],real_dev[0x%x]) \n&,
& & __FILE__, __LINE__,__func__, dev, priv, real_dev);
& & //netif_carrier_on(dev);
& & #endif
& & return 0;
static netdev_tx_t XGDev_start_xmit(struct sk_buff *skb, struct net_device *dev)
& & struct xg_dev_private *priv&&= netdev_priv(dev);
& & struct net_device *real_dev = priv-&
& & struct sk_buff *skbTx& && & = NULL;
& & struct iphdr *iph& && && &&&= ip_hdr(skb);
printk(&%s[%d] [Fun:%s] begin ****** .(protocol[%d]) \n&,
& & __FILE__, __LINE__,__func__, iph-&protocol);
& & printk(&%s[%d] [Fun:%s] data_len[%d], mac_len[%d], truesize[%d] \n&,
& && && && &__FILE__, __LINE__,__func__, skb-&data_len, skb-&mac_len,skb-&truesize);
& & /* 对于真实的网卡, 把skb里的数据通过网卡发送出去 */
& & netif_stop_queue(dev); /* 停止该网卡的队列 */
& & /* ...... */& && && &&&/* 把skb的数据写入网卡 */
& & /* 构造一个假的sk_buff,上报 */
& & emulator_rx_packet(skb, dev);
& & //dev_kfree_skb (skb);& &/* 释放skb */
& & netif_wake_queue(dev); /* 数据全部发送出去后,**网卡的队列 */
& & /* 更新统计信息 */
& & dev-&stats.tx_packets++;
& & dev-&stats.tx_bytes += skb-&
static int XGDev_stop(struct net_device *dev)
printk(&%s[%d] [Fun:%s] begin ****** .(dev[0x%x]) \n&,
& & __FILE__, __LINE__,__func__, dev);
& & //netif_carrier_off(dev);
static struct net_device_ops XG_netdev_ops =
& & .ndo_init& && && &&&= XGDev_init,
& & .ndo_uninit& && && &= XGDev_uninit,
& & .ndo_open& && && &&&= XGDev_open,
& & .ndo_stop& && && &&&= XGDev_stop,
& & .ndo_start_xmit& &&&= XGDev_start_xmit,
& & //.ndo_validate_addr&&= eth_validate_addr,
& & //.ndo_do_ioctl& && & = XGDev_ioctl,
& & //.ndo_set_mac_address= XGDev_set_mac_address,
& & //.ndo_neigh_setup& & = XGDev_neigh_setup,
& & //.ndo_get_stats& && &= XGDev_get_stats,
& & //.ndo_set_rx_mode& & = XGDev_rx_mode,
static void XGDev_setup(struct net_device *dev)
& & printk(&%s[%d] [Fun:%s] begin ****** .(dev[0x%x])\n&, __FILE__, __LINE__,__func__, dev);
& & ether_setup(dev);
& & dev-&tx_queue_len& && & = 1000;
& & dev-&netdev_ops& && && &= &XG_netdev_
//dev-&hard_start_xmit& & = XGhard_start_
& & dev-&dev_addr[0] = 0x00;
& & dev-&dev_addr[1] = 0x12;
& & dev-&dev_addr[2] = 0x34;
& & dev-&dev_addr[3] = 0x56;
& & dev-&dev_addr[4] = 0x78;
& & dev-&dev_addr[5] = 0x9a;
& & //dev-&flags& && &|= IFF_NOARP;
//dev-&features& &|= NETIF_F_NO_CSUM;
dev-&mtu = 64 * 1024;
dev-&hard_header_len = ETH_HLEN; /* 14 */
dev-&addr_len = ETH_ALEN; /* 6 */
dev-&tx_queue_len = 0;
dev-&type = ARPHRD_LOOPBACK; /* 0x0001*/
dev-&flags = IFF_LOOPBACK;
& & dev-&priv_flags& && &&&&= ~IFF_XMIT_DST_RELEASE;
& & dev-&hw_features = NETIF_F_ALL_TSO | NETIF_F_UFO;
& & dev-&features&&= NETIF_F_SG | NETIF_F_FRAGLIST
& &&&| NETIF_F_ALL_TSO
& &&&| NETIF_F_UFO
& &&&| NETIF_F_HW_CSUM
& &&&| NETIF_F_RXCSUM
& &&&| NETIF_F_HIGHDMA
& &&&| NETIF_F_LLTX
& &&&| NETIF_F_NETNS_LOCAL
& &&&| NETIF_F_VLAN_CHALLENGED
& &&&| NETIF_F_LOOPBACK;
static void XGhold_realdev(struct net_device *dev)
& & struct xg_dev_private *p = netdev_priv(dev);
& & struct net_device *real_
printk(&%s[%d] [Fun:%s] begin ****** .(dev[0x%x], p[0x%x]) \n&, __FILE__, __LINE__,__func__, dev, p);
& & if (p == NULL)
printk(&%s[%d] [Fun:%s] call netdev_priv return NULL. \n&, __FILE__, __LINE__,__func__);
& & if ((real_dev = dev_get_by_name(&init_net, &eth0&)) == NULL)
printk(&%s[%d] [Fun:%s] dev_get_by_name. \n&, __FILE__, __LINE__,__func__);
& & printk(&%s[%d] [Fun:%s] real_dev[0x%x].\n&, __FILE__, __LINE__,__func__, real_dev);
& & p-&dev = real_
static void XGrelease_realdev(struct net_device *dev)
& & struct xg_dev_private *p = netdev_priv(dev);
printk(&%s[%d] [Fun:%s] begin ****** . \n&, __FILE__, __LINE__,__func__);
& & if (p == NULL)
printk(&%s[%d] [Fun:%s] netdev_priv return NULL. \n&, __FILE__, __LINE__,__func__);
& & dev_put(p-&dev);
static int __init XGDev_Register(void)
& & printk(&%s[%d] [Fun:%s] begin ******.\n&, __FILE__, __LINE__,__func__);
& & pXG_NetDev = alloc_netdev(sizeof(struct xg_dev_private), &priv%d&, XGDev_setup);
& & if (pXG_NetDev == NULL)
printk(&%s[%d] [Fun:%s] alloc_netdev failure.\n&, __FILE__, __LINE__,__func__);
& & //dev_net_set(pXG_NetDev, &init_net);
& & XGhold_realdev(pXG_NetDev);
& & if (register_netdev(pXG_NetDev) & 0)
printk(&%s[%d] [Fun:%s] register_netdevice failure.\n&, __FILE__, __LINE__,__func__);
& & dev_add_pack(&gXGDev_arp_pack_type);
& & dev_add_pack(&gXGDev_ip_pack_type);
printk(&%s[%d] [Fun:%s] priv0 register successful.\n&, __FILE__, __LINE__,__func__);
& & return 0;
& & XGrelease_realdev(pXG_NetDev);
& & free_netdev(pXG_NetDev);
& & return -ENOMEM;
static void __exit XGDev__unregister(void)
& & printk(&%s[%d] [Fun:%s] begin ****** .\n&, __FILE__, __LINE__,__func__);
& & dev_remove_pack(&gXGDev_ip_pack_type);
& & dev_remove_pack(&gXGDev_arp_pack_type);
& & unregister_netdev(pXG_NetDev);
& & XGrelease_realdev(pXG_NetDev);
& & free_netdev(pXG_NetDev);
printk(&%s[%d] [Fun:%s] priv0 unregister successful.\n&, __FILE__, __LINE__,__func__);
module_init(XGDev_Register);
module_exit(XGDev__unregister);
MODULE_LICENSE(&GPL&);
lover@ubuntu:~/src/gbs10$ ifconfig -a
eth0& && &Link encap:Ethernet&&HWaddr 00:0c:29:fe:25:00&&
& && && & inet addr:192.168.10.133&&Bcast:192.168.10.255&&Mask:255.255.255.0
& && && & inet6 addr: fe80::20c:29ff:fefe:2500/64 Scope:Link
& && && & UP BROADCAST RUNNING MULTICAST&&MTU:1500&&Metric:1
& && && & RX packets:39943 errors:0 dropped:0 overruns:0 frame:0
& && && & TX packets:25068 errors:0 dropped:0 overruns:0 carrier:0
& && && & collisions:0 txqueuelen:1000
& && && & RX bytes:.4 MB)&&TX bytes:.3 MB)
& && && & Interrupt:19 Base address:0x2000
lo& && &&&Link encap:Local Loopback&&
& && && & inet addr:127.0.0.1&&Mask:255.0.0.0
& && && & inet6 addr: ::1/128 Scope:Host
& && && & UP LOOPBACK RUNNING&&MTU:65536&&Metric:1
& && && & RX packets:309 errors:0 dropped:0 overruns:0 frame:0
& && && & TX packets:309 errors:0 dropped:0 overruns:0 carrier:0
& && && & collisions:0 txqueuelen:0
& && && & RX bytes:3 KB)&&TX bytes:3 KB)
priv0& &&&Link encap:Local Loopback&&
& && && & BROADCAST MULTICAST&&MTU:65536&&Metric:1
& && && & RX packets:0 errors:0 dropped:0 overruns:0 frame:0
& && && & TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
& && && & collisions:0 txqueuelen:0
& && && & RX bytes:0 (0.0 B)&&TX bytes:0 (0.0 B)
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分49072阅读权限90帖子精华可用积分49072 信誉积分2352 专家积分0 在线时间4936 小时注册时间最后登录
富甲一方, 积分 49072, 距离下一级还需 928 积分
帖子主题精华可用积分49072 信誉积分2352 专家积分0 在线时间4936 小时注册时间最后登录
论坛徽章:31
目测楼主是程序员出身.
如果你发现我的回复跟你说的不是一回事, 那么, 偶是来抬杠的. screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
如果你发现我的回复正好是你想知道的, 那么, 是俺蒙对了. screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
UID198791空间积分0 积分25043阅读权限90帖子精华可用积分25043 信誉积分2537 专家积分5 在线时间5006 小时注册时间最后登录
巨富豪门, 积分 25043, 距离下一级还需 14957 积分
帖子主题精华可用积分25043 信誉积分2537 专家积分5 在线时间5006 小时注册时间最后登录
认证徽章论坛徽章:67
楼主是程序猿
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处求助,想一号多拨,但无法用MACVLAN创建虚拟网卡_百度知道
求助,想一号多拨,但无法用MACVLAN创建虚拟网卡
local文件,在exit0之前添加下面代码:
ip link add link eth0;&#47.2 vth2 type macvlan
这里要填原来的WAN接口名称 ifconfig vth2 hw ether 88编辑&#47:11:88:33:44:5E
//etc/ eth0
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在linux中虚拟网卡的方法
在linux中虚拟网卡,可以在/etc/network/interface里加,但是不能改MAC地址。在网上搜到了下面的文章,需要装一下vlan,挺好用的。
-------------------------------------------------------------------------------------
&在实验环境中,一直想在一台机器上模拟出多个客户端,这样在搭环境的时候就可以不用使用那么多的机器。但是,仅仅能在一个网卡上模拟出一个IP有时是不行的,需要mac地址也不一样。
&对于这个需求,我一直想咋整,一直不知道,在CSDN和Chinaunix上也发贴问,也没见着回的。而我知道,virtualBox和WM等虚拟机是可以实现的,它的虚拟机里发出数据包的mac就是和系统的mac不一样,也就是说,这个是可以实现的,只是我不知道方法而已。
&后来,终于google到了一个叫mac-vlan的补丁(),mac-vlan代码在内核2.6.29版本及以后已经加入内核。它可以被ip工具集操作。
&1.加载8021q模块:
& & #sudo modprobe 8021q
&2. 启用目标网卡,在这块网卡上配置一个vlan。
& & &#sudo
ifconfig eth0 up
&3.配置出一个vlan:
& & #sudo vconfig add eth0 2
& &Added VLAN with VID == 2 to IF
& & 系统会生成一个属于vlan2的网卡,可以用ifconfig
-a来查看:
&&[moldao@moldao python]$
ifconfig eth0.2
eth0.2 & &Link encap:Ethernet
&HWaddr 00:1F:16:2E:28:C7 &
& & &BROADCAST
MULTICAST &MTU:1500 &Metric:1
packets:0 errors:0 dropped:0 overruns:0 frame:0
packets:0 errors:0 dropped:0 overruns:0 carrier:0
&collisions:0 txqueuelen:0&
& & &RX bytes:0
(0.0 b) &TX bytes:0 (0.0 b)
& &4.之后就可以用ipconfig或者ip
命令来进行配置,配置其ip,mac等:
&&$ sudo ifconfig -s eth0.2
10.0.1.1 broadcast 10.0.1.0 netmask 255.255.255.0 up
& &5.按照官网上说明,mac-vlan的特性有:
Implements 802.1Q VLAN spec.
Can support up to 4094 VLANs per ethernet interface.
Scales well in critical paths: O(n), where n is the number of
PHYSICAL ethernet interfaces, and that is only on ingress. O(1) in
every other critical path, as far as I know.
Supports MULTICAST
Can change MAC address of VLAN.
Multiple naming conventions supported, and adjustable at
Optional header-reordering, to make the VLAN interface
LIKE&an Ethernet interface. This fixes
some problems with DHCPd and anything else that uses a SOCK_PACKET
socket. Default setting is off, which works for every other
protocol I know about, and is slightly faster.
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。求助,想一号多拨,但无法用MACVLAN创建虚拟网卡_百度知道
求助,想一号多拨,但无法用MACVLAN创建虚拟网卡
我有更好的答案
这里要填原来的WAN接口名称 ifconfig vth2 hw ether 88; eth0:
ip link add link eth0;/etc&#47,在exit0之前添加下面代码.local文件:5E
&#47编辑&#47:33.2 vth2 type macvlan
&#47:88:11;rc:44
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 ros vlan 多拨 的文章

 

随机推荐