Skip to content
Snippets Groups Projects
Select Git revision
  • 15bb6b6e93fd0733a9feb877d2091acc3c80fb16
  • experimental default protected
  • v2023.2.5-ffs
  • nrb/ex400-remove-wps
  • nrb/airmax-test
  • v2023.2.4-ffs
  • nrb/ar9344-reset-sequence
  • autinerd/experimental-openwrt-24.10
  • v2023.2.3-ffs
  • v2023.2.2-ffs
  • v2023.2-ffs
  • v2023.1-ffs
  • v2022.1.4-ffs
  • feature/addMikrotikwAP
  • v2022.1.3-ffs
  • v2021.1.2-ffs
  • v2022.1.1-ffs
  • master protected
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • experimental-2025-07-22
  • experimental-2025-07-22-base
  • experimental-2025-07-21
  • experimental-2025-07-21-base
  • experimental-2025-07-20
  • experimental-2025-07-20-base
  • experimental-2025-07-19
  • experimental-2025-07-19-base
  • experimental-2025-07-17
  • experimental-2025-07-17-base
  • experimental-2025-07-12
  • experimental-2025-07-12-base
  • experimental-2025-07-04
  • experimental-2025-07-04-base
  • experimental-2025-07-01
  • experimental-2025-07-01-base
  • experimental-2025-06-25
  • experimental-2025-06-25-base
  • experimental-2025-06-24
  • experimental-2025-06-24-base
41 results

v2017.1.4.rst

Blame
  • fastd.pl 2.09 KiB
    my $cfg = $CONFIG->{fastd_mesh_vpn};
    my $backbone = $cfg->{backbone};
    
    my $add_methods = '';
    for (@{$cfg->{methods}}) {
    	$add_methods .= "uci add_list fastd.mesh_vpn.method='$_'\n";
    }
    
    my $set_peer_limit;
    if ($backbone->{limit}) {
    	$set_peer_limit = "uci_set fastd mesh_vpn_backbone peer_limit '$backbone->{limit}'\n";
    }
    else {
    	$set_peer_limit = "uci_remove fastd mesh_vpn_backbone peer_limit\n";
    }
    
    print <<END;
    #/bin/sh
    
    . /lib/functions.sh
    . /lib/gluon/functions/sysconfig.sh
    . /lib/gluon/functions/users.sh
    
    add_user gluon-fastd 800
    
    uci_add fastd fastd mesh_vpn
    
    uci_set fastd mesh_vpn user 'gluon-fastd'
    uci_set fastd mesh_vpn syslog_level 'verbose'
    uci_set fastd mesh_vpn interface 'mesh-vpn'
    uci_set fastd mesh_vpn mode 'tap'
    uci_set fastd mesh_vpn mtu '$cfg->{mtu}'
    uci_set fastd mesh_vpn secure_handshakes '1'
    
    uci_remove fastd mesh_vpn method
    $add_methods
    
    uci_remove fastd mesh_vpn_backbone
    uci_add fastd peer_group mesh_vpn_backbone
    uci_set fastd mesh_vpn_backbone enabled '1'
    uci_set fastd mesh_vpn_backbone net 'mesh_vpn'
    $set_peer_limit
    END
    
    foreach my $name (sort keys %{$backbone->{peers}}) {
    	my $peer = $backbone->{peers}->{$name};
    	print <<EOF;
    uci_remove fastd 'mesh_vpn_backbone_peer_$name'
    uci_add fastd peer 'mesh_vpn_backbone_peer_$name'
    uci_set fastd 'mesh_vpn_backbone_peer_$name' enabled '1'
    uci_set fastd 'mesh_vpn_backbone_peer_$name' net 'mesh_vpn'
    uci_set fastd 'mesh_vpn_backbone_peer_$name' group 'mesh_vpn_backbone'
    uci_set fastd 'mesh_vpn_backbone_peer_$name' key '$peer->{key}'
    EOF
    
    	for (@{$peer->{remotes}}) {
    		print "uci add_list fastd.mesh_vpn_backbone_peer_$name.remote='$_'\n";
    	}
    }
    
    print <<'END';
    
    uci_add network interface mesh_vpn
    uci_set network mesh_vpn ifname 'mesh-vpn'
    uci_set network mesh_vpn proto 'batadv'
    uci_set network mesh_vpn mesh 'bat0'
    uci_set network mesh_vpn mesh_no_rebroadcast '1'
    
    mainaddr=$(sysconfig primary_mac)
    oIFS="$IFS"; IFS=":"; set -- $mainaddr; IFS="$oIFS"