Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c net/ipv6/ip6_tunnel.c net/ipv6/ip6_vti.c ipv6 tunnel statistic bug fixes conflicting with consolidation into generic sw per-cpu net stats. qlogic conflict between queue counting bug fix and the addition of multiple MAC address support. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1677,7 +1677,7 @@ void addrconf_leave_solict(struct inet6_dev *idev, const struct in6_addr *addr)
|
||||
static void addrconf_join_anycast(struct inet6_ifaddr *ifp)
|
||||
{
|
||||
struct in6_addr addr;
|
||||
if (ifp->prefix_len == 127) /* RFC 6164 */
|
||||
if (ifp->prefix_len >= 127) /* RFC 6164 */
|
||||
return;
|
||||
ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len);
|
||||
if (ipv6_addr_any(&addr))
|
||||
@@ -1688,7 +1688,7 @@ static void addrconf_join_anycast(struct inet6_ifaddr *ifp)
|
||||
static void addrconf_leave_anycast(struct inet6_ifaddr *ifp)
|
||||
{
|
||||
struct in6_addr addr;
|
||||
if (ifp->prefix_len == 127) /* RFC 6164 */
|
||||
if (ifp->prefix_len >= 127) /* RFC 6164 */
|
||||
return;
|
||||
ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len);
|
||||
if (ipv6_addr_any(&addr))
|
||||
@@ -3476,7 +3476,12 @@ restart:
|
||||
&inet6_addr_lst[i], addr_lst) {
|
||||
unsigned long age;
|
||||
|
||||
if (ifp->flags & IFA_F_PERMANENT)
|
||||
/* When setting preferred_lft to a value not zero or
|
||||
* infinity, while valid_lft is infinity
|
||||
* IFA_F_PERMANENT has a non-infinity life time.
|
||||
*/
|
||||
if ((ifp->flags & IFA_F_PERMANENT) &&
|
||||
(ifp->prefered_lft == INFINITY_LIFE_TIME))
|
||||
continue;
|
||||
|
||||
spin_lock(&ifp->lock);
|
||||
@@ -3501,7 +3506,8 @@ restart:
|
||||
ifp->flags |= IFA_F_DEPRECATED;
|
||||
}
|
||||
|
||||
if (time_before(ifp->tstamp + ifp->valid_lft * HZ, next))
|
||||
if ((ifp->valid_lft != INFINITY_LIFE_TIME) &&
|
||||
(time_before(ifp->tstamp + ifp->valid_lft * HZ, next)))
|
||||
next = ifp->tstamp + ifp->valid_lft * HZ;
|
||||
|
||||
spin_unlock(&ifp->lock);
|
||||
@@ -3801,7 +3807,8 @@ static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
|
||||
put_ifaddrmsg(nlh, ifa->prefix_len, ifa->flags, rt_scope(ifa->scope),
|
||||
ifa->idev->dev->ifindex);
|
||||
|
||||
if (!(ifa->flags&IFA_F_PERMANENT)) {
|
||||
if (!((ifa->flags&IFA_F_PERMANENT) &&
|
||||
(ifa->prefered_lft == INFINITY_LIFE_TIME))) {
|
||||
preferred = ifa->prefered_lft;
|
||||
valid = ifa->valid_lft;
|
||||
if (preferred != INFINITY_LIFE_TIME) {
|
||||
|
Reference in New Issue
Block a user