PPPOE流程分析3---pppoe native程序包

原创 2013年12月03日 19:22:44
1. 相关文件
主要源码目录是, android/external/ppp/pppoe, 其中核心的是4个shell script, 和一个bin
1.1 Android.mk
此编译脚本主要用来指明编译pppoe这个binary时的规则.
1.2 Script/Pppoe-connect
执行pppoe拨号脚本
1.3 Script/Pppoe-disconnect
杀掉pppoe程序掉本
1.3 Ip-up-pppoe
连接成功, 配置route, dns等信息
1.4 Ip-down-pppoe
连接断开, 删除route, dns等信息


2 Ip-up-pppoe
此文件在pppoe拨号成功后会被调用, 是被pppd程序调用, 主要功能是设置dns/local-ip/remote-ip/net-pppoe-reason/net-pppoe-interface/route, 核心脚本代码如下,
/system/bin/setprop "net.$NAME.dns1" "$DNS1"     // $NAME为ppp0, 设置dns1
/system/bin/setprop "net.$NAME.dns2" "$DNS2"    // 设置dns2
/system/bin/setprop "net.$NAME.local-ip" "$IPLOCAL"  // 设置本地IP
/system/bin/setprop "net.$NAME.remote-ip" "$IPREMOTE" // 设置远程服务器IP
/system/bin/setprop "net.pppoe.reason" "running" // 设置当前pppoe状态
/system/bin/setprop "net.pppoe.interface" "$1" // 设置当前pppoe网卡节点, ppp0
/system/bin/setprop "net.dns1" "$DNS1" // 设置默认dns1, 最终net.dns1和net.ppp0.dns1应该相同
/system/bin/setprop "net.dns2" "$DNS2" //  设置辅助dns2
#del the route table
// 下面这里比较重要, 首先要删除已经设置了的default route
while true
do
    i=`/system/bin/busybox route | /system/bin/busybox grep default -c`
    if /system/bin/busybox test $i = 0
    then
        break
    fi
    `/system/bin/busybox route del default`
done
#add the pppoe remote ip to route table
// 删除完成后, 设置pppoe的remote-ip和网卡接口为默认路由
/system/bin/busybox route add -net 0.0.0.0 gw "$IPREMOTE" netmask 0.0.0.0 dev "$NAME"
此脚本的调用我找了很久都没有发现, 后来还是问了下耕哥, 这块本来是他负责开发, 是在pppd程序中被调用, 按照他当时的介绍, vpn/3g dongle都会使用到pppd, pppoe和他们相似, 所以对于vpn会有一个ip-up-vpn, 对于3G dongle会有ip-up, 这些相关的脚本是放在了android/device/softwinner/common/rild目录下, 
1. 在android/device/softwinner/common/sw-common中指定了一些和3G data card 有关的文件, 列表如下, 耕哥说的pppoe中ip-up-pppoe和3G dongle相似, 应该就是这个意思了, 这里也有ip-down, ip-up等, 也都是各种脚本.
 16 #YUNOS BEGIN
 17 # 3G Data Card Configuration Flie
 18 #PRODUCT_COPY_FILES += \
 19 # device/softwinner/common/rild/ip-down:system/etc/ppp/ip-down \
 20 # device/softwinner/common/rild/ip-up:system/etc/ppp/ip-up \
 21 # device/softwinner/common/rild/call-pppd:system/etc/ppp/call-pppd \
 22 # device/softwinner/common/rild/3g_dongle.cfg:system/etc/3g_dongle.cfg \
 23 # device/softwinner/common/rild/usb_modeswitch:system/bin/usb_modeswitch \
 24 # device/softwinner/common/rild/usb_modeswitch.sh:system/bin/usb_modeswitch.sh \
 25 # device/softwinner/common/rild/apns-conf_sdk.xml:system/etc/apns-conf.xml \
 26 # device/softwin


shanxiaoxi@allwinnertech.com: 以前写在有道云笔记中, 在这里分享出来

Android 实现PPPoE拨号

关于Android实现PPPoE拨号上网的问题。 系统必须安装有ppp和rp-pppoe程序。一般ROM自带有ppp程序的、rp-pppoe就未必有了,需要交叉rp-pppoe到目标...
  • dxpqxb
  • dxpqxb
  • 2013年05月09日 19:33
  • 2637

PPPoE 中的包类型

PADI (PPPoE Active Discovery Initiation) 初始化,由客户端广播发送 如果一个用户想要使用DSL拨号连入Internet,那么他的计算机必须首先在其ISP的网...
  • jjg1986
  • jjg1986
  • 2014年09月30日 20:45
  • 538

pppoe环境下的mtu和mss的配合问题

一、问题描述 前端是连接因特网的路由器,中间利用LINUX –IPTABLES搭建的防火墙,由PPPOE协议承担拨入功能,并开通NAT,后端是客户机,故障现象是当LINUX系统拨入VPN后,L...
  • lepton126
  • lepton126
  • 2017年04月26日 17:50
  • 494

PPPoE客户端连接协商过程

1 协商过程 1.1 发现阶段
  • naipeng
  • naipeng
  • 2016年03月28日 09:50
  • 3922

pppoe协议和pppd源码分析

pppoe协议简介 (一)发现(Discovery)阶段   在发现(Discovery)阶段中用户主机以广播方式寻找所连接的所有接入集中器(或交换机),并获得其以太网MAC地址。然后选择需要连接...
  • lishanmin11
  • lishanmin11
  • 2014年09月19日 16:27
  • 2469

[转]用ROS创建PPPoE拨号上网-新手必看

一、在LAN口设一个IP地址,做为网关地址。 Network 和 Broadcast 会根据IP自动获取。   二、创建一个PPPoE客户端,输入拨号的账户和密码: ...
  • ch841029
  • ch841029
  • 2017年06月25日 07:42
  • 2012

PPPOE流程分析2 --PPPoEService系统应用

1. PPPoEService相关文件 核心代码在android/device/softwinner/common/packages/PPPoEService中, 文件也只有Loader.java/...
  • shan0xiao0xi
  • shan0xiao0xi
  • 2013年12月03日 19:20
  • 2173

(others)pppoe接受数据包流程112

内核pppoe接收发送数据包流程 2012-06-12 22:01:38 分类: LINUX 内核pppoe接收发送数据包流程 数据结构 -------- s...
  • H002399
  • H002399
  • 2015年04月06日 15:15
  • 398

Android4.4实现PPPOE拨号上网具体流程

硬件环境:Tiny6410开发板 软件环境:fedora14 + Android 2.3.4 + linux-2.6.36 所需资源:rp-pppoe-3.11.tar.gz http:/...
  • lp542718520
  • lp542718520
  • 2014年07月28日 13:59
  • 1878

PPPOE和pppd的流程详解--good

PPD是用户态应用程序,负责PPP协议的具体配置,如MTU、拨号模式、认证方式、认证所需用户名/密码等 一 终端    终端介绍    终端是一种字符型设备,它有多种类型,通常使用tty来简称各...
  • eydwyz
  • eydwyz
  • 2017年01月18日 16:41
  • 526
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PPPOE流程分析3---pppoe native程序包
举报原因:
原因补充:

(最多只允许输入30个字)