Compare commits

...

3 Commits

Author SHA1 Message Date
3e5231bf84 * Mon Dec 23 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-18.sme
- add vlan support on External Interface [SME: 12677]
- fix typo [SME: 12763]
2024-12-23 07:08:37 -05:00
6547750d1e * Mon Dec 23 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-17.sme
- add vlan support on External Interface [SME: 12677]
2024-12-23 01:05:02 -05:00
e3e3f2a823 * Mon Dec 23 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-16.sme
-  add kernel module support for rp-pppoe plugin [SME: 12678]
   will allow faster fiber connexion when using multiple queue interface (RSS)
   set-gateway-ip will propagate both wan and diald ip
   run.pppoe call an interface
2024-12-23 00:54:54 -05:00
13 changed files with 74 additions and 5 deletions

View File

@@ -60,6 +60,6 @@ $result = $ldap->ldapdelgroup($groupName);
$result && ( $x = $ldapauth ne 'enabled' ? $x : 255, warn "Failed to delete (ldap) group $groupName.\n" );
# delete mail spool file
unless ($x == 255) { (if -e "/var/spool/mail/$groupName" ) {unlink("/var/spool/mail/$groupName") or ( $x = 255, warn "Failed to delete /var/spool/mail/$groupName.\n" );} }
unless ($x == 255) { if ( -e "/var/spool/mail/$groupName" ) {unlink("/var/spool/mail/$groupName") or ( $x = 255, warn "Failed to delete /var/spool/mail/$groupName.\n" );} }
exit ($x);

View File

@@ -34,7 +34,7 @@
# remote_ip = $6
# ipparam = $7
if [ "$7" = "diald" ]
if [ "$7" = "diald" ] || [ "$7" = "wan" ]
then
exec /sbin/e-smith/config set GatewayIP "$6"
fi

View File

@@ -18,6 +18,15 @@ if (($c->get('EthernetDriver1')->value || 'unknown') eq 'dummy'){
if (($c->get('InternalInterface')->prop('NICBonding') || 'disabled') eq 'enabled'){
push @adapters, "bond\tbond\t10:00:01:02:03:04\tBonding virtual Interface\tbond0";
}
# if external VLAN is configured
if (($c->get('ExternalInterface')->prop('VLAN') || 'disabled') ne 'disabled'){
my $name= ($c->get('ExternalInterface')->prop('Name') eq "ppp0") ? $c->get('pppoe')->prop('PhysicalInterface') : $c->get('ExternalInterface')->prop('Name') ;
my $vlan=$c->get('ExternalInterface')->prop('VLAN');
$name=~ s/\.$vlan$//;
my ($newl) = grep ( /$name$/ , @adapters);
push @adapters, "$newl.$vlan";
}
#TODO if external virtual lan is configured
# Expand templates for every adapters found
foreach my $adapter (@adapters){

View File

@@ -0,0 +1,3 @@
# PPPOE needs this if using kernel space with rp-pppoe.se plugin
/sbin/iptables -t mangle -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

View File

@@ -0,0 +1 @@
LINUX_PLUGIN=/usr/lib64/pppd/2.4.5/rp-pppoe.so

View File

@@ -0,0 +1,10 @@
{
$is_vlan = "no";
if ( ( exists $ExternalInterface{VLAN} && $ExternalInterface{VLAN} =~ /^\d+$/ ) && ($is_external || ( $ExternalInterface{Configuration} eq "pppoe") && $pppoe{PhysicalInterface} eq $THIS_DEVICE ) )
{
$ifup_this_device = "yes";
$is_vlan = "yes";
}
"";
}

View File

@@ -0,0 +1,4 @@
{
return unless ($is_vlan eq "yes");
$OUT = "VLAN=yes\n";
}

View File

@@ -0,0 +1 @@
plugin /usr/lib64/pppd/2.4.5/rp-pppoe.so

View File

@@ -0,0 +1,2 @@
# add pppoe module
/sbin/modprobe pppoe

View File

@@ -0,0 +1 @@
8021q

View File

@@ -559,9 +559,37 @@ ETHERNET_EXTERNAL:
goto ETHERNET_EXTERNAL;
}
goto ETHERNET_EXTERNAL_VLAN;# was SERVER_GATEWAY_DEDICATED;
}
#------------------------------------------------------------
ETHERNET_EXTERNAL_VLAN:
#------------------------------------------------------------
{
($rc, $choice) = $console->input_page
(
title => gettext("Select External Interface VLAN"),
text =>
gettext("Your ISP might have provided you a VLAN to use, if not leave empty."),
value => $db->get_prop('ExternalInterface', 'VLAN') || ""
);
goto ETHERNET_EXTERNAL unless ($rc == 0);
# sanitize if a previous VLAN is present
my $extIF = $db->get_prop('ExternalInterface', 'Name');
$extIF =~ s/\.\d+$//;
if ( $choice =~ /^\d+$/ )
{
$db->set_prop('ExternalInterface', 'VLAN', $choice );
$db->set_prop('ExternalInterface', 'Name', $extIF . ".$choice") unless $db->get_prop('ExternalInterface', 'Name') =~ /\.$choice$/;
}
else
{
$db->delete_prop('ExternalInterface', 'VLAN');
$db->set_prop('ExternalInterface', 'Name',$extIF);
}
goto SERVER_GATEWAY_DEDICATED;
}
#------------------------------------------------------------
SERVER_GATEWAY_DEDICATED:
#------------------------------------------------------------

View File

@@ -29,4 +29,4 @@ exec \
/usr/local/bin/softlimit -m $PPPD_MLIMIT \
/usr/bin/setsid \
/usr/sbin/pppd ${extaddr:+$extaddr:} \
file pppoe.pppd.conf
file pppoe.pppd.conf ${interface}

View File

@@ -4,7 +4,7 @@ Summary: smeserver server and gateway - base module
%define name smeserver-base
Name: %{name}
%define version 11.0.0
%define release 15
%define release 18
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@@ -184,6 +184,16 @@ fi
%changelog
* Mon Dec 23 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-18.sme
- add vlan support on External Interface [SME: 12677]
- fix typo [SME: 12763]
* Mon Dec 23 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-16.sme
- add kernel module support for rp-pppoe plugin [SME: 12678]
will allow faster fiber connexion when using multiple queue interface (RSS)
set-gateway-ip will propagate both wan and diald ip
run.pppoe call an interface
* Sat Dec 21 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-15.sme
- fix use of passwd command when ldap auth enabled [SME: 6453]
- delete spool file only if exists to avoid error [SME: 12763]