Merge branch 'arm-master' into arm-sdk7

arm-sdk7 2021.1.070
pedro 5 years ago
commit fdd136d9a1

@ -338,10 +338,9 @@ void in6_dev_finish_destroy(struct inet6_dev *idev)
snmp6_free_dev(idev);
call_rcu(&idev->rcu, in6_dev_finish_destroy_rcu);
}
EXPORT_SYMBOL(in6_dev_finish_destroy);
static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
static struct inet6_dev *ipv6_add_dev(struct net_device *dev)
{
struct inet6_dev *ndev;
@ -442,7 +441,7 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
return ndev;
}
static struct inet6_dev * ipv6_find_idev(struct net_device *dev)
static struct inet6_dev *ipv6_find_idev(struct net_device *dev)
{
struct inet6_dev *idev;
@ -712,12 +711,9 @@ static void ipv6_del_addr(struct inet6_ifaddr *ifp)
struct inet6_ifaddr *ifa, *ifn;
struct inet6_dev *idev = ifp->idev;
int state;
int hash;
int deleted = 0, onlink = 0;
unsigned long expires = jiffies;
hash = ipv6_addr_hash(&ifp->addr);
spin_lock_bh(&ifp->state_lock);
state = ifp->state;
ifp->state = INET6_IFADDR_STATE_DEAD;
@ -1342,7 +1338,6 @@ int ipv6_chk_prefix(struct in6_addr *addr, struct net_device *dev)
rcu_read_unlock();
return onlink;
}
EXPORT_SYMBOL(ipv6_chk_prefix);
struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, const struct in6_addr *addr,
@ -1529,7 +1524,7 @@ static int addrconf_ifid_arcnet(u8 *eui, struct net_device *dev)
if (dev->addr_len != ARCNET_ALEN)
return -1;
memset(eui, 0, 7);
eui[7] = *(u8*)dev->dev_addr;
eui[7] = *(u8 *)dev->dev_addr;
return 0;
}
@ -1657,7 +1652,8 @@ out:
in6_dev_put(idev);
}
static int __ipv6_try_regen_rndid(struct inet6_dev *idev, struct in6_addr *tmpaddr) {
static int __ipv6_try_regen_rndid(struct inet6_dev *idev, struct in6_addr *tmpaddr)
{
int ret = 0;
if (tmpaddr && memcmp(idev->rndid, &tmpaddr->s6_addr[8], 8) == 0)
@ -1864,7 +1860,7 @@ void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len)
/* Try to figure out our local address for this prefix */
if (pinfo->autoconf && in6_dev->cnf.autoconf) {
struct inet6_ifaddr * ifp;
struct inet6_ifaddr *ifp;
struct in6_addr addr;
int create = 0, update_lft = 0;
@ -2290,9 +2286,9 @@ static void sit_add_v4_addrs(struct inet6_dev *idev)
}
for_each_netdev(net, dev) {
struct in_device * in_dev = __in_dev_get_rtnl(dev);
struct in_device *in_dev = __in_dev_get_rtnl(dev);
if (in_dev && (dev->flags & IFF_UP)) {
struct in_ifaddr * ifa;
struct in_ifaddr *ifa;
int flag = scope;
@ -2338,7 +2334,7 @@ static void init_loopback(struct net_device *dev)
static void addrconf_add_linklocal(struct inet6_dev *idev, struct in6_addr *addr)
{
struct inet6_ifaddr * ifp;
struct inet6_ifaddr *ifp;
u32 addr_flags = IFA_F_PERMANENT;
#ifdef CONFIG_IPV6_OPTIMISTIC_DAD
@ -2359,7 +2355,7 @@ static void addrconf_add_linklocal(struct inet6_dev *idev, struct in6_addr *addr
static void addrconf_dev_config(struct net_device *dev)
{
struct in6_addr addr;
struct inet6_dev * idev;
struct inet6_dev *idev;
ASSERT_RTNL();
@ -2472,7 +2468,7 @@ static void addrconf_ip6_tnl_config(struct net_device *dev)
}
static int addrconf_notify(struct notifier_block *this, unsigned long event,
void * data)
void *data)
{
struct net_device *dev = (struct net_device *) data;
struct inet6_dev *idev = __in6_dev_get(dev);
@ -3700,7 +3696,7 @@ static int inet6_dump_ifacaddr(struct sk_buff *skb, struct netlink_callback *cb)
return inet6_dump_addr(skb, cb, type);
}
static int inet6_rtm_getaddr(struct sk_buff *in_skb, struct nlmsghdr* nlh,
static int inet6_rtm_getaddr(struct sk_buff *in_skb, struct nlmsghdr *nlh,
void *arg)
{
struct net *net = sock_net(in_skb->sk);

@ -866,6 +866,7 @@ static const nvset_t nvset_list[] = {
{ "ipv6_dhcpd", V_01 },
{ "ipv6_lease_time", V_RANGE(1, 720) }, // 1 ... up to 720 hours (30 days) IPv6 lease time
{ "ipv6_accept_ra", V_NUM },
{ "ipv6_fast_ra", V_01 }, // fast RA option --> send frequent RAs
{ "ipv6_tun_addr", V_IPV6(1) },
{ "ipv6_tun_addrlen", V_RANGE(3, 127) },
{ "ipv6_ifname", V_LENGTH(0, 8) },

@ -523,8 +523,11 @@ void start_dnsmasq()
ipv6_lease = 12;
/* enable-ra should be enabled in both cases */
if ((nvram_get_int("ipv6_radvd")) || (nvram_get_int("ipv6_dhcpd")))
if ((nvram_get_int("ipv6_radvd")) || (nvram_get_int("ipv6_dhcpd"))) {
fprintf(f, "enable-ra\n");
if (nvram_get_int("ipv6_fast_ra"))
fprintf(f, "ra-param=br*, 15, 600\n"); /* interface = br*, ra-interval = 15 sec, router-lifetime = 600 sec (10 min) */
}
/* only SLAAC and NO DHCPv6 */
if ((nvram_get_int("ipv6_radvd")) && (!nvram_get_int("ipv6_dhcpd")))

@ -301,6 +301,7 @@ struct nvram_tuple router_defaults[] = {
{ "ipv6_dhcpd", "1" , 0 }, // Enable DHCPv6
{ "ipv6_lease_time", "12" , 0 }, // DHCP IPv6 default lease time in hours
{ "ipv6_accept_ra", "1" , 0 }, // Enable Accept RA on WAN (bit 0) and/or LAN (bit 1) interfaces (br0...br3 if available)
{ "ipv6_fast_ra", "0" , 0 }, // Enable fast RA option --> send frequent RAs
{ "ipv6_ifname", "six0" , 0 }, // The interface facing the rest of the IPv6 world
{ "ipv6_tun_v4end", "0.0.0.0" , 0 }, // Foreign IPv4 endpoint of SIT tunnel
{ "ipv6_relay", "1" , 0 }, // Foreign IPv4 endpoint host of SIT tunnel 192.88.99.?

@ -18,7 +18,7 @@
<script>
// <% nvram("dnsmasq_q,ipv6_radvd,ipv6_dhcpd,ipv6_lease_time,dhcpd_dmdns,dns_addget,dhcpd_gwmode,dns_intcpt,dhcpd_slt,dhcpc_minpkt,dnsmasq_custom,dnsmasq_onion_support,dhcpd_lmax,dhcpc_custom,dns_norebind,dns_priv_override,dhcpd_static_only,dnsmasq_debug,dnssec_enable,dnscrypt_proxy,dnscrypt_priority,dnscrypt_port,dnscrypt_resolver,dnscrypt_log,dnscrypt_manual,dnscrypt_provider_name,dnscrypt_provider_key,dnscrypt_resolver_address,dnscrypt_ephemeral_keys,stubby_proxy,stubby_priority,stubby_log,stubby_port,wan_wins"); %>
// <% nvram("dnsmasq_q,ipv6_radvd,ipv6_dhcpd,ipv6_lease_time,ipv6_fast_ra,dhcpd_dmdns,dns_addget,dhcpd_gwmode,dns_intcpt,dhcpd_slt,dhcpc_minpkt,dnsmasq_custom,dnsmasq_onion_support,dhcpd_lmax,dhcpc_custom,dns_norebind,dns_priv_override,dhcpd_static_only,dnsmasq_debug,dnssec_enable,dnscrypt_proxy,dnscrypt_priority,dnscrypt_port,dnscrypt_resolver,dnscrypt_log,dnscrypt_manual,dnscrypt_provider_name,dnscrypt_provider_key,dnscrypt_resolver_address,dnscrypt_ephemeral_keys,stubby_proxy,stubby_priority,stubby_log,stubby_port,wan_wins"); %>
</script>
<script src="isup.jsx?_http_id=<% nv(http_id); %>"></script>
@ -194,6 +194,7 @@ function save() {
/* IPV6-BEGIN */
fom.ipv6_radvd.value = fom._f_ipv6_radvd.checked ? 1 : 0;
fom.ipv6_dhcpd.value = fom._f_ipv6_dhcpd.checked ? 1 : 0;
fom.ipv6_fast_ra.value = fom._f_ipv6_fast_ra.checked ? 1 : 0;
fom.ipv6_lease_time.value = fom._f_ipv6_lease_time.value;
/* IPV6-END */
fom.dnsmasq_q.value = 0;
@ -305,6 +306,7 @@ function init() {
<!-- IPV6-BEGIN -->
<input type="hidden" name="ipv6_radvd">
<input type="hidden" name="ipv6_dhcpd">
<input type="hidden" name="ipv6_fast_ra">
<input type="hidden" name="ipv6_lease_time">
<!-- IPV6-END -->
<input type="hidden" name="dnsmasq_q">
@ -425,6 +427,7 @@ function init() {
/* IPV6-BEGIN */
{ title: 'Announce IPv6 on LAN (SLAAC)', name: 'f_ipv6_radvd', type: 'checkbox', value: nvram.ipv6_radvd == '1' },
{ title: 'Announce IPv6 on LAN (DHCP)', name: 'f_ipv6_dhcpd', type: 'checkbox', value: nvram.ipv6_dhcpd == '1' },
{ title: 'Fast RA mode', name: 'f_ipv6_fast_ra', type: 'checkbox', value: nvram.ipv6_fast_ra == '1' },
{ title: 'DHCP IPv6 lease time', name: 'f_ipv6_lease_time', type: 'text', maxlen: 3, size: 8, suffix: ' <small> (in hours)<\/small>', value: nvram.ipv6_lease_time || 12 },
/* IPV6-END */
{ title: 'Mute dhcpv4 logging', name: 'f_dnsmasq_q4', type: 'checkbox', value: (nvram.dnsmasq_q & 1) },
@ -468,6 +471,9 @@ function init() {
<li><b>Use user-entered gateway if WAN is disabled</b> - DHCP will use the IP address of the router as the default gateway on each LAN.</li>
<li><b>Ignore DHCP requests (...)</b> - Dnsmasq will ignore DHCP requests to only MAC addresses listed on the <a href="basic-static.asp">Static DHCP/ARP</a> page won't be able to obtain an IP address through DHCP.</li>
<li><b>Static lease time</b> - Absolute maximum amount of time allowed for any DHCP lease to be valid.</li>
<!-- IPV6-BEGIN -->
<li><b>Fast RA mode</b> - Forces dnsmasq to be always in frequent RA mode. (Recommendation: enable also "Mute RA logging" option)</li>
<!-- IPV6-END -->
<li><b>Custom configuration</b> - Extra options to be added to the Dnsmasq configuration file.</li>
</ul>
<br>

Loading…
Cancel
Save