28 lines
685 B
Plaintext
28 lines
685 B
Plaintext
|
{
|
||
|
my $inkernel = $pppoe{InKernel} || "no";
|
||
|
my $timeout = $pppoe{Timeout} || 120; # PPPOE_TIMEOUT should be about 4*LCP_INTERVAL
|
||
|
my $device = $pppoe{PhysicalInterface} || "eth1";
|
||
|
my $syncPPP = $pppoe{SynchronousPPP} || "no";
|
||
|
my $syncflag = "";
|
||
|
|
||
|
$OUT = "";
|
||
|
if ($syncPPP eq "yes")
|
||
|
{
|
||
|
$OUT .= "sync\n";
|
||
|
$syncflag = "-s";
|
||
|
}
|
||
|
if ($inkernel eq "yes")
|
||
|
{
|
||
|
# Find Roaring Penguin pppoe plugin
|
||
|
my ($plugin) = glob "/usr/lib*/pppd/*/rp-pppoe.so";
|
||
|
$plugin ||= "pppoe_plugin_could_not_be_found";
|
||
|
|
||
|
$OUT .= "plugin $plugin\n";
|
||
|
$OUT .= "$device";
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$OUT .= "pty '/usr/sbin/pppoe -I $device -T $timeout -U -m 1412 $syncflag'";
|
||
|
}
|
||
|
}
|