6rd / ds-lite: make the firewall-zones of nested-protocols configurable
SVN-Revision: 40020
This commit is contained in:
parent
2a893c2057
commit
0555ebf66d
9 changed files with 28 additions and 12 deletions
|
@ -54,6 +54,7 @@ setup_interface () {
|
||||||
json_add_int ip6prefixlen "$ip6rdprefixlen"
|
json_add_int ip6prefixlen "$ip6rdprefixlen"
|
||||||
json_add_string tunlink "$INTERFACE"
|
json_add_string tunlink "$INTERFACE"
|
||||||
[ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE"
|
[ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE"
|
||||||
|
[ -n "$ZONE6RD" ] && json_add_string zone "$ZONE6RD"
|
||||||
json_close_object
|
json_close_object
|
||||||
|
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
|
|
|
@ -15,14 +15,15 @@ proto_dhcp_init_config() {
|
||||||
proto_config_add_string iface6rd
|
proto_config_add_string iface6rd
|
||||||
proto_config_add_string sendopts
|
proto_config_add_string sendopts
|
||||||
proto_config_add_boolean delegate
|
proto_config_add_boolean delegate
|
||||||
|
proto_config_add_string zone6rd
|
||||||
}
|
}
|
||||||
|
|
||||||
proto_dhcp_setup() {
|
proto_dhcp_setup() {
|
||||||
local config="$1"
|
local config="$1"
|
||||||
local iface="$2"
|
local iface="$2"
|
||||||
|
|
||||||
local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate
|
local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd
|
||||||
json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate
|
json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd
|
||||||
|
|
||||||
local opt dhcpopts
|
local opt dhcpopts
|
||||||
for opt in $reqopts; do
|
for opt in $reqopts; do
|
||||||
|
@ -37,6 +38,7 @@ proto_dhcp_setup() {
|
||||||
[ -n "$clientid" ] && clientid="-x 0x3d:${clientid//:/}" || clientid="-C"
|
[ -n "$clientid" ] && clientid="-x 0x3d:${clientid//:/}" || clientid="-C"
|
||||||
[ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd"
|
[ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd"
|
||||||
[ -n "$iface6rd" ] && append dhcpopts "-O 212"
|
[ -n "$iface6rd" ] && append dhcpopts "-O 212"
|
||||||
|
[ -n "$zone6rd" ] && proto_export "ZONE6RD=$zone6rd"
|
||||||
[ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0"
|
[ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0"
|
||||||
|
|
||||||
proto_export "INTERFACE=$config"
|
proto_export "INTERFACE=$config"
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=6rd
|
PKG_NAME:=6rd
|
||||||
PKG_VERSION:=5
|
PKG_VERSION:=6
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
|
@ -14,8 +14,8 @@ proto_6rd_setup() {
|
||||||
local iface="$2"
|
local iface="$2"
|
||||||
local link="6rd-$cfg"
|
local link="6rd-$cfg"
|
||||||
|
|
||||||
local mtu df ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting
|
local mtu df ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting zone
|
||||||
json_get_vars mtu df ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting
|
json_get_vars mtu df ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting zone
|
||||||
|
|
||||||
[ -z "$ip6prefix" -o -z "$peeraddr" ] && {
|
[ -z "$ip6prefix" -o -z "$peeraddr" ] && {
|
||||||
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
||||||
|
@ -68,6 +68,10 @@ proto_6rd_setup() {
|
||||||
[ -n "$tunlink" ] && json_add_string link "$tunlink"
|
[ -n "$tunlink" ] && json_add_string link "$tunlink"
|
||||||
proto_close_tunnel
|
proto_close_tunnel
|
||||||
|
|
||||||
|
proto_add_data
|
||||||
|
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||||
|
proto_close_data
|
||||||
|
|
||||||
proto_send_update "$cfg"
|
proto_send_update "$cfg"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,6 +93,7 @@ proto_6rd_init_config() {
|
||||||
proto_config_add_string "ip4prefixlen"
|
proto_config_add_string "ip4prefixlen"
|
||||||
proto_config_add_string "tunlink"
|
proto_config_add_string "tunlink"
|
||||||
proto_config_add_boolean "sourcerouting"
|
proto_config_add_boolean "sourcerouting"
|
||||||
|
proto_config_add_string "zone"
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -n "$INCLUDE_ONLY" ] || {
|
[ -n "$INCLUDE_ONLY" ] || {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ds-lite
|
PKG_NAME:=ds-lite
|
||||||
PKG_VERSION:=1
|
PKG_VERSION:=2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
|
@ -14,8 +14,8 @@ proto_dslite_setup() {
|
||||||
local iface="$2"
|
local iface="$2"
|
||||||
local link="dslite-$cfg"
|
local link="dslite-$cfg"
|
||||||
|
|
||||||
local mtu ttl peeraddr ip6addr tunlink
|
local mtu ttl peeraddr ip6addr tunlink zone
|
||||||
json_get_vars mtu ttl peeraddr ip6addr tunlink
|
json_get_vars mtu ttl peeraddr ip6addr tunlink zone
|
||||||
|
|
||||||
[ -z "$peeraddr" ] && {
|
[ -z "$peeraddr" ] && {
|
||||||
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
||||||
|
@ -51,6 +51,10 @@ proto_dslite_setup() {
|
||||||
[ -n "$tunlink" ] && json_add_string link "$tunlink"
|
[ -n "$tunlink" ] && json_add_string link "$tunlink"
|
||||||
proto_close_tunnel
|
proto_close_tunnel
|
||||||
|
|
||||||
|
proto_add_data
|
||||||
|
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||||
|
proto_close_data
|
||||||
|
|
||||||
proto_send_update "$cfg"
|
proto_send_update "$cfg"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,6 +71,7 @@ proto_dslite_init_config() {
|
||||||
proto_config_add_string "tunlink"
|
proto_config_add_string "tunlink"
|
||||||
proto_config_add_int "mtu"
|
proto_config_add_int "mtu"
|
||||||
proto_config_add_int "ttl"
|
proto_config_add_int "ttl"
|
||||||
|
proto_config_add_string "zone"
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -n "$INCLUDE_ONLY" ] || {
|
[ -n "$INCLUDE_ONLY" ] || {
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=odhcp6c
|
PKG_NAME:=odhcp6c
|
||||||
PKG_VERSION:=2014-03-13
|
PKG_VERSION:=2014-03-26
|
||||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||||
PKG_SOURCE_URL:=git://github.com/sbyx/odhcp6c.git
|
PKG_SOURCE_URL:=git://github.com/sbyx/odhcp6c.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=9c7c654cb2d5ac6ac536f603cd5a9372416e91da
|
PKG_SOURCE_VERSION:=6c8109e0c77d5a54950ba607d1ec1f83d5efb5b7
|
||||||
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
|
@ -84,6 +84,7 @@ setup_interface () {
|
||||||
json_add_string proto "dslite"
|
json_add_string proto "dslite"
|
||||||
json_add_string peeraddr "$AFTR_IP"
|
json_add_string peeraddr "$AFTR_IP"
|
||||||
json_add_string tunlink "$INTERFACE"
|
json_add_string tunlink "$INTERFACE"
|
||||||
|
[ -n "$ZONE_DSLITE" ] && json_add_string zone "$ZONE_DSLITE"
|
||||||
[ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE"
|
[ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE"
|
||||||
json_close_object
|
json_close_object
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
|
|
|
@ -14,6 +14,7 @@ proto_dhcpv6_init_config() {
|
||||||
proto_config_add_string 'norelease:bool'
|
proto_config_add_string 'norelease:bool'
|
||||||
proto_config_add_string 'ip6prefix:ip6addr'
|
proto_config_add_string 'ip6prefix:ip6addr'
|
||||||
proto_config_add_string iface_dslite
|
proto_config_add_string iface_dslite
|
||||||
|
proto_config_add_string zone_dslite
|
||||||
proto_config_add_string 'ifaceid:ip6addr'
|
proto_config_add_string 'ifaceid:ip6addr'
|
||||||
proto_config_add_string 'sourcerouting:bool'
|
proto_config_add_string 'sourcerouting:bool'
|
||||||
proto_config_add_string "userclass"
|
proto_config_add_string "userclass"
|
||||||
|
@ -25,8 +26,8 @@ proto_dhcpv6_setup() {
|
||||||
local config="$1"
|
local config="$1"
|
||||||
local iface="$2"
|
local iface="$2"
|
||||||
|
|
||||||
local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass delegate
|
local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass delegate zone_dslite
|
||||||
json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass delegate
|
json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass delegate zone_dslite
|
||||||
|
|
||||||
|
|
||||||
# Configure
|
# Configure
|
||||||
|
@ -58,6 +59,7 @@ proto_dhcpv6_setup() {
|
||||||
[ -n "$iface_dslite" ] && proto_export "IFACE_DSLITE=$iface_dslite"
|
[ -n "$iface_dslite" ] && proto_export "IFACE_DSLITE=$iface_dslite"
|
||||||
[ "$sourcerouting" != "0" ] && proto_export "SOURCE_ROUTING=1"
|
[ "$sourcerouting" != "0" ] && proto_export "SOURCE_ROUTING=1"
|
||||||
[ "$delegate" = "0" ] && proto_export "IFACE_DSLITE_DELEGATE=0"
|
[ "$delegate" = "0" ] && proto_export "IFACE_DSLITE_DELEGATE=0"
|
||||||
|
[ -n "$zone_dslite" ] && proto_export "ZONE_DSLITE=$zone_dslite"
|
||||||
|
|
||||||
proto_export "INTERFACE=$config"
|
proto_export "INTERFACE=$config"
|
||||||
proto_run_command "$config" odhcp6c \
|
proto_run_command "$config" odhcp6c \
|
||||||
|
|
Loading…
Reference in a new issue