新闻中心

EEPW首页>手机与无线通信>设计应用> 基于Linux内核模式的PPPoE优化与实现

基于Linux内核模式的PPPoE优化与实现

作者: 时间:2010-09-13 来源:网络 收藏


2.4 核心代码实现
整个PPPoE内核模式拨号的核心代码主要集中在内核模块上,该模块主要功能有proc文件读写、数据包的封装、解包等操作,下面是这个内核模块的包封装的部分程序。


以上只是部分代码,由于代码太多,而且很多代码和项目的硬件抽象层模块(HAL)息息相关,所以在此不再详细阐述。具体可以参考Lin-ux内核中pppoe模块里面的代码,虽然工作的层次有点不一样,但是总体的思路是一样的,本文的实现代码基本上也是参考的Linux内核中PP-PoE的代码。

3 结束语
本文主要描述了PPPoE内核模式拨号的设计与实现,该模式将封包动作从用户空间转移到内核空间,从而大大降低了内核空间与用户空间切换的次数,目前这种内核模式下的拨号已经大量地应用于各种网关产品中。虽然PPPoE是一种非常成熟的技术,Linux内核也已开始支持PP-PoE内核态拨号,同时由卡耐基梅隆大学开发的PPPD开源项目已经广泛应用于各种网关产品中,但是熟悉整个内核态拨号的流程是非常重要的,同时PPPD目前还存在一些BUG,在项目开发的过程中还需做大量修改。本文提供解决方案有别于传统的通过PPP虚拟接口来传输数据的方案,在某种程度上也降低了路由模块的工作任务,尤其是需要实现多路PPPoE的时候。另外该设计方案在Linux2.6.18上已经成功通过测试,并投入使用。


上一页 1 2 3 下一页

关键词:收发器

评论


相关推荐

技术专区

关闭