Allow IP address family to be configured separately for PCP/NAT-PMP and UPnP
ipv6_disable
disables IPv6
for both PCP/NAT-PMP
and UPnP
. Is it possible to allow IP address family to be configured separately for PCP/NAT-PMP
and UPnP
? The reason is that PCP
clients tend to be more compliant than UPnP
clients, so while IPv6
often need to be disabled for non-compliant UPnP
clients to work properly, PCP
clients usually work fine with IPv6
.
The configuration could be simplified to 4 booleans, something like enable_pcp_ipv4
, enable_pcp_ipv6
, enable_upnp_ipv4
, enable_upnp_ipv6
, this would be the most flexible design that could control IPv4
/IPv6
for PCP/NAT-PMP
and UPnP
independently. The configuration to disable just UPnP IPv6
would be enable_pcp_ipv4=yes
enable_pcp_ipv6=yes
enable_upnp_ipv4=yes
enable_upnp_ipv6=no
Existing options could be implemented as
-
ipv6_disable=yes
would be equivalent toenable_pcp_ipv6=no
enable_upnp_ipv6=no
-
enable_natpmp=no
would be equivalent toenable_pcp_ipv4=no
enable_pcp_ipv6=no
-
enable_upnp=no
would be equivalent toenable_upnp_ipv4=no
enable_upnp_ipv6=no
On a related issue, I don't know how force_igd_desc_v1
works and if IGDv1
for IPv6
exists, I wonder whether it would make sense to have separate IPv4 force_igd_desc_v1
and IPv6 force_igd_desc_v1
, the intention is to allow both non-compliant IPv4-only UPnP IGDv1
clients to work properly and compliant IPv6 UPnP IGDv2
clients to use IGDv2
features.