]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
authorDavid S. Miller <davem@davemloft.net>
Fri, 19 Nov 2010 21:13:47 +0000 (13:13 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Nov 2010 21:13:47 +0000 (13:13 -0800)
Conflicts:
drivers/net/bonding/bond_main.c
net/core/net-sysfs.c
net/ipv6/addrconf.c

1  2 
drivers/net/bnx2x/bnx2x_main.c
drivers/net/bonding/bond_main.c
drivers/net/wireless/ath/ath9k/eeprom_9287.c
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
drivers/net/wireless/ath/ath9k/init.c
drivers/net/wireless/ath/carl9170/usb.c
include/net/cfg80211.h
include/net/neighbour.h
net/core/filter.c
net/ipv4/icmp.c
net/ipv6/addrconf.c

Simple merge
index e588b2e1c3b34c3979b77bd2fa0ce18ebea053ad,71a169740d05daf463b04f2ff591a943f8c1847e..0273ad0b57bb00167591414ca2937ce84e6794b1
@@@ -876,8 -876,14 +876,8 @@@ static void __bond_resend_igmp_join_req
  
        rcu_read_lock();
        in_dev = __in_dev_get_rcu(dev);
 -      if (in_dev) {
 -              read_lock(&in_dev->mc_list_lock);
 -              for (im = in_dev->mc_list; im; im = im->next)
 -                      ip_mc_rejoin_group(im);
 -              read_unlock(&in_dev->mc_list_lock);
 -      }
 -
 +      if (in_dev)
-                       ip_mc_rejoin_groups(in_dev);
++              ip_mc_rejoin_groups(in_dev);
        rcu_read_unlock();
  }
  
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/icmp.c
Simple merge
index 470e7acb91dfec637eceaea6adc23b9fbd169b34,2fc35b32df9eacb3c1dcebf153700b5056bc9689..4cf760598c2aa674bb9589b6d6d99c11d1c459fb
@@@ -3894,69 -3896,6 +3899,68 @@@ static void snmp6_fill_stats(u64 *stats
        }
  }
  
-       ci.tstamp = (__u32)(TIME_DELTA(idev->tstamp, INITIAL_JIFFIES) / HZ * 100
-                   + TIME_DELTA(idev->tstamp, INITIAL_JIFFIES) % HZ * 100 / HZ);
-       ci.reachable_time = idev->nd_parms->reachable_time;
-       ci.retrans_time = idev->nd_parms->retrans_time;
 +static int inet6_fill_ifla6_attrs(struct sk_buff *skb, struct inet6_dev *idev)
 +{
 +      struct nlattr *nla;
 +      struct ifla_cacheinfo ci;
 +
 +      NLA_PUT_U32(skb, IFLA_INET6_FLAGS, idev->if_flags);
 +
 +      ci.max_reasm_len = IPV6_MAXPLEN;
++      ci.tstamp = cstamp_delta(idev->tstamp);
++      ci.reachable_time = jiffies_to_msecs(idev->nd_parms->reachable_time);
++      ci.retrans_time = jiffies_to_msecs(idev->nd_parms->retrans_time);
 +      NLA_PUT(skb, IFLA_INET6_CACHEINFO, sizeof(ci), &ci);
 +
 +      nla = nla_reserve(skb, IFLA_INET6_CONF, DEVCONF_MAX * sizeof(s32));
 +      if (nla == NULL)
 +              goto nla_put_failure;
 +      ipv6_store_devconf(&idev->cnf, nla_data(nla), nla_len(nla));
 +
 +      /* XXX - MC not implemented */
 +
 +      nla = nla_reserve(skb, IFLA_INET6_STATS, IPSTATS_MIB_MAX * sizeof(u64));
 +      if (nla == NULL)
 +              goto nla_put_failure;
 +      snmp6_fill_stats(nla_data(nla), idev, IFLA_INET6_STATS, nla_len(nla));
 +
 +      nla = nla_reserve(skb, IFLA_INET6_ICMP6STATS, ICMP6_MIB_MAX * sizeof(u64));
 +      if (nla == NULL)
 +              goto nla_put_failure;
 +      snmp6_fill_stats(nla_data(nla), idev, IFLA_INET6_ICMP6STATS, nla_len(nla));
 +
 +      return 0;
 +
 +nla_put_failure:
 +      return -EMSGSIZE;
 +}
 +
 +static size_t inet6_get_link_af_size(const struct net_device *dev)
 +{
 +      if (!__in6_dev_get(dev))
 +              return 0;
 +
 +      return inet6_ifla6_size();
 +}
 +
 +static int inet6_fill_link_af(struct sk_buff *skb, const struct net_device *dev)
 +{
 +      struct inet6_dev *idev = __in6_dev_get(dev);
 +
 +      if (!idev)
 +              return -ENODATA;
 +
 +      if (inet6_fill_ifla6_attrs(skb, idev) < 0)
 +              return -EMSGSIZE;
 +
 +      return 0;
 +}
 +
 +static int inet6_parse_link_af(struct net_device *dev, const struct nlattr *nla)
 +{
 +      return -EOPNOTSUPP;
 +}
 +
  static int inet6_fill_ifinfo(struct sk_buff *skb, struct inet6_dev *idev,
                             u32 pid, u32 seq, int event, unsigned int flags)
  {