Changeset 41823


Ignore:
Timestamp:
2014-07-24T16:17:41+02:00 (4 years ago)
Author:
cyrus
Message:

softwires: redesign dhcp(v6) provisioning

Signed-off-by: Steven Barth <steven@…>

Location:
trunk/package/network
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/network/config/netifd/files/lib/netifd/dhcp.script

    r40020 r41823  
    3434                proto_add_dns_search "$domain" 
    3535        done 
     36 
     37        proto_add_data 
     38        [ -n "$ZONE" ] && json_add_string zone "$ZONE" 
     39        proto_close_data 
     40 
    3641        proto_send_update "$INTERFACE" 
    3742 
    38         if [ -n "$IFACE6RD" -a -n "$ip6rd" ]; then 
     43 
     44        if [ "$IFACE6RD" != 0 -a -n "$ip6rd" ]; then 
    3945                local v4mask="${ip6rd%% *}" 
    4046                ip6rd="${ip6rd#* }" 
     
    4450                ip6rd="${ip6rd#* }" 
    4551                local ip6rdbr="${ip6rd%% *}" 
     52 
     53                [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE) 
     54                [ -z "$IFACE6RD" -o "$IFACE6RD" = 1 ] && IFACE6RD=${INTERFACE}_6rd 
    4655 
    4756                json_init 
     
    5564                json_add_string tunlink "$INTERFACE" 
    5665                [ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE" 
     66                [ -n "$ZONE6RD" ] || ZONE6RD=$ZONE 
    5767                [ -n "$ZONE6RD" ] && json_add_string zone "$ZONE6RD" 
    5868                json_close_object 
  • trunk/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh

    r40937 r41823  
    1818        proto_config_add_boolean delegate 
    1919        proto_config_add_string zone6rd 
     20        proto_config_add_string zone 
    2021} 
    2122 
     
    2425        local iface="$2" 
    2526 
    26         local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd 
    27         json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd 
     27        local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone 
     28        json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone 
    2829 
    2930        local opt dhcpopts 
     
    4142        [ -n "$iface6rd" ] && append dhcpopts "-O 212" 
    4243        [ -n "$zone6rd" ] && proto_export "ZONE6RD=$zone6rd" 
     44        [ -n "$zone" ] && proto_export "ZONE=$zone" 
    4345        [ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0" 
    4446 
  • trunk/package/network/ipv6/odhcp6c/files/dhcpv6.script

    r40825 r41823  
    7979        [ -n "$CER" ] && json_add_string cer "$CER" 
    8080        [ -n "$PASSTHRU" ] && json_add_string passthru "$PASSTHRU" 
     81        [ -n "$ZONE" ] && json_add_string zone "$ZONE" 
    8182        proto_close_data 
    8283 
    8384        proto_send_update "$INTERFACE" 
    8485 
    85         if [ -n "$AFTR_IP " -a -n "$IFACE_DSLITE" ]; then 
    86                 json_init 
    87                 json_add_string name "$IFACE_DSLITE" 
    88                 json_add_string ifname "@$INTERFACE" 
    89                 json_add_string proto "dslite" 
    90                 json_add_string peeraddr "$AFTR_IP" 
    91                 json_add_string tunlink "$INTERFACE" 
    92                 [ -n "$ZONE_DSLITE" ] && json_add_string zone "$ZONE_DSLITE" 
    93                 [ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE" 
    94                 json_close_object 
    95                 ubus call network add_dynamic "$(json_dump)" 
    96         fi 
    97  
    9886        MAPTYPE="" 
    9987        MAPRULE="" 
    10088 
    101         if [ -n "$MAPE" ]; then 
     89        if [ -n "$MAPE" -a -f /lib/netifd/proto/map.sh ]; then 
    10290                MAPTYPE="map-e" 
    10391                MAPRULE="$MAPE" 
    104         elif [ -n "$MAPT" ]; then 
     92        elif [ -n "$MAPT" -a -f /lib/netifd/proto/map.sh -a -f /proc/net/nat46/control ]; then 
    10593                MAPTYPE="map-t" 
    10694                MAPRULE="$MAPT" 
    107         elif [ -n "$LW4O6" ]; then 
     95        elif [ -n "$LW4O6" -a -f /lib/netifd/proto/map.sh ]; then 
    10896                MAPTYPE="lw4o6" 
    10997                MAPRULE="$LW4O6" 
    11098        fi 
    11199 
    112         if [ -n "$IFACE_MAP" -a -n "$MAPTYPE" -a -n "$MAPRULE" ]; then 
     100        [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE) 
     101 
     102        if [ "$IFACE_MAP" != 0 -a -n "$MAPTYPE" -a -n "$MAPRULE" ]; then 
     103                [ -z "$IFACE_MAP" -o "$IFACE_MAP" = 1 ] && IFACE_MAP=${INTERFACE}_map 
    113104                json_init 
    114105                json_add_string name "$IFACE_MAP" 
     
    118109                json_add_string rule "$MAPRULE" 
    119110                json_add_string tunlink "$INTERFACE" 
     111                [ -n "$ZONE_MAP" ] || ZONE_MAP=$ZONE 
    120112                [ -n "$ZONE_MAP" ] && json_add_string zone "$ZONE_MAP" 
    121113                [ -n "$IFACE_MAP_DELEGATE" ] && json_add_boolean delegate "$IFACE_MAP_DELEGATE" 
     114                json_close_object 
     115                ubus call network add_dynamic "$(json_dump)" 
     116        elif [ -n "$AFTR_IP " -a "$IFACE_DSLITE" != 0 -a -f /lib/netifd/proto/dslite.sh ]; then 
     117                [ -z "$IFACE_DSLITE" -o "$IFACE_DSLITE" = 1 ] && IFACE_DSLITE=${INTERFACE}_dslite 
     118                json_init 
     119                json_add_string name "$IFACE_DSLITE" 
     120                json_add_string ifname "@$INTERFACE" 
     121                json_add_string proto "dslite" 
     122                json_add_string peeraddr "$AFTR_IP" 
     123                json_add_string tunlink "$INTERFACE" 
     124                [ -n "$ZONE_DSLITE" ] || ZONE_DSLITE=$ZONE 
     125                [ -n "$ZONE_DSLITE" ] && json_add_string zone "$ZONE_DSLITE" 
     126                [ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE" 
    122127                json_close_object 
    123128                ubus call network add_dynamic "$(json_dump)" 
  • trunk/package/network/ipv6/odhcp6c/files/dhcpv6.sh

    r41001 r41823  
    2020        proto_config_add_string iface_map 
    2121        proto_config_add_string zone_map 
     22        proto_config_add_string zone 
    2223        proto_config_add_string 'ifaceid:ip6addr' 
    2324        proto_config_add_string 'sourcerouting:bool' 
     
    3233        local iface="$2" 
    3334 
    34         local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map soltimeout 
    35         json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map soltimeout 
     35        local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone soltimeout 
     36        json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone soltimeout 
    3637 
    3738 
     
    7172        [ -n "$zone_dslite" ] && proto_export "ZONE_DSLITE=$zone_dslite" 
    7273        [ -n "$zone_map" ] && proto_export "ZONE_MAP=$zone_map" 
     74        [ -n "$zone" ] && proto_export "ZONE=$zone" 
    7375 
    7476        proto_export "INTERFACE=$config" 
Note: See TracChangeset for help on using the changeset viewer.