当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > a bug of ng_vlan?

Unix/Linux
Linux教程:后台执行程序如何操作?
Linux教程:记录会话过程的命令
Linux和Windows区别分析之线程问题
Linux教程:22端口如何修改?
Linux教程:配置DHCP服务器方法介绍
css3教程:把系统日志记录到远程服务器
教你在Linux系统下破解SAM密码
Linux操作系统启动界面揭秘DHCP协议实现过程
如何检测U盘是否插入或拔出
Linux消除用户使用习惯的阻隔
编写应用程序要注重其安全性
Telnet在Linux系统下如何设置
Linux系统下误删除文件怎么办
删除Linux系统下的历史记录
修改Linux系统下22端口的两种方法
资深Linux程序员的开发经验谈
Ext2和Ext3文件系统
Linux策略性路由应用
如何在Linux中设置透明代理
Linux下的软件开发

Unix/Linux 中的 a bug of ng_vlan?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 26 ::
收藏到网摘: n/a

怎么不加mtu的判断?是否存在超长包现象?感觉比率会很高,尤其是在传送文件时候。
if (hook != priv->nomatch_hook) {            if ((f = NG_HOOK_PRIVATE(hook)) == NULL) {                NG_FREE_DATA(m, meta);                return (EOPNOTSUPP);            }            M_PREPEND(m, EVL_ENCAPLEN, M_DONTWAIT);            /* M_PREPEND takes care of m_len and m_pkthdr.len. */            if (m == NULL || (m->m_len < sizeof(*evl) &&                (m = m_pullup(m, sizeof(*evl))) == NULL)) {                NG_FREE_META(meta);                return (ENOMEM);            }            /*             * Transform the Ethernet header into an Ethernet header             * with 802.1Q encapsulation.             */            bcopy(mtod(m, char *) + EVL_ENCAPLEN,                mtod(m, char *), ETHER_HDR_LEN);            evl = mtod(m, struct ether_vlan_header *);            evl->evl_proto = evl->evl_encap_proto;            evl->evl_encap_proto = htons(ETHERTYPE_VLAN);            evl->evl_tag = htons(f->vlan);        }        NG_SEND_DATA(error, priv->downstream_hook, m, meta);怎么不加mtu的判断?是否存在超长包现象?感觉比率会很高,尤其是在传送文件时候。