1. 15 5月, 2010 1 次提交
  2. 13 5月, 2010 20 次提交
  3. 12 5月, 2010 5 次提交
  4. 11 5月, 2010 7 次提交
    • P
      ipv6: ip6mr: add support for dumping routing tables over netlink · 5b285cac
      Patrick McHardy 提交于
      The ip6mr /proc interface (ip6_mr_cache) can't be extended to dump routes
      from any tables but the main table in a backwards compatible fashion since
      the output format ends in a variable amount of output interfaces.
      
      Introduce a new netlink interface to dump multicast routes from all tables,
      similar to the netlink interface for regular routes.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      5b285cac
    • P
      ipv6: ip6mr: support multiple tables · d1db275d
      Patrick McHardy 提交于
      This patch adds support for multiple independant multicast routing instances,
      named "tables".
      
      Userspace multicast routing daemons can bind to a specific table instance by
      issuing a setsockopt call using a new option MRT6_TABLE. The table number is
      stored in the raw socket data and affects all following ip6mr setsockopt(),
      getsockopt() and ioctl() calls. By default, a single table (RT6_TABLE_DFLT)
      is created with a default routing rule pointing to it. Newly created pim6reg
      devices have the table number appended ("pim6regX"), with the exception of
      devices created in the default table, which are named just "pim6reg" for
      compatibility reasons.
      
      Packets are directed to a specific table instance using routing rules,
      similar to how regular routing rules work. Currently iif, oif and mark
      are supported as keys, source and destination addresses could be supported
      additionally.
      
      Example usage:
      
      - bind pimd/xorp/... to a specific table:
      
      uint32_t table = 123;
      setsockopt(fd, SOL_IPV6, MRT6_TABLE, &table, sizeof(table));
      
      - create routing rules directing packets to the new table:
      
      # ip -6 mrule add iif eth0 lookup 123
      # ip -6 mrule add oif eth0 lookup 123
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      d1db275d
    • P
      6bd52143
    • P
    • P
      ipv6: ip6mr: remove net pointer from struct mfc6_cache · b5aa30b1
      Patrick McHardy 提交于
      Now that cache entries in unres_queue don't need to be distinguished by their
      network namespace pointer anymore, we can remove it from struct mfc6_cache
      add pass the namespace as function argument to the functions that need it.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      b5aa30b1
    • P
      ipv6: ip6mr: move unres_queue and timer to per-namespace data · c476efbc
      Patrick McHardy 提交于
      The unres_queue is currently shared between all namespaces. Following patches
      will additionally allow to create multiple multicast routing tables in each
      namespace. Having a single shared queue for all these users seems to excessive,
      move the queue and the cleanup timer to the per-namespace data to unshare it.
      
      As a side-effect, this fixes a bug in the seq file iteration functions: the
      first entry returned is always from the current namespace, entries returned
      after that may belong to any namespace.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      c476efbc
    • P
      netfilter: use rcu_dereference_protected() · b56f2d55
      Patrick McHardy 提交于
      Restore the rcu_dereference() calls in conntrack/expectation notifier
      and logger registration/unregistration, but use the _protected variant,
      which will be required by the upcoming __rcu annotations.
      
      Based on patch by Eric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      b56f2d55
  5. 10 5月, 2010 7 次提交
    • P
      netfilter: nf_conntrack_proto: fix warning with CONFIG_PROVE_RCU · 3b254c54
      Patrick McHardy 提交于
      ===================================================
      [ INFO: suspicious rcu_dereference_check() usage. ]
      ---------------------------------------------------
      include/net/netfilter/nf_conntrack_l3proto.h:92 invoked rcu_dereference_check()
      without protection!
      
      other info that might help us debug this:
      
      rcu_scheduler_active = 1, debug_locks = 0
      2 locks held by iptables/3197:
       #0:  (sk_lock-AF_INET){+.+.+.}, at: [<ffffffff8149bd8c>]
      ip_setsockopt+0x7c/0xa0
       #1:  (&xt[i].mutex){+.+.+.}, at: [<ffffffff8148a5fe>]
      xt_find_table_lock+0x3e/0x110
      
      stack backtrace:
      Pid: 3197, comm: iptables Not tainted 2.6.34-rc4 #2
      Call Trace:
       [<ffffffff8105e2e8>] lockdep_rcu_dereference+0xb8/0xc0
       [<ffffffff8147fb3b>] nf_ct_l3proto_module_put+0x6b/0x70
       [<ffffffff8148d891>] state_mt_destroy+0x11/0x20
       [<ffffffff814d3baf>] cleanup_match+0x2f/0x50
       [<ffffffff814d3c63>] cleanup_entry+0x33/0x90
       [<ffffffff814d5653>] ? __do_replace+0x1a3/0x210
       [<ffffffff814d564c>] __do_replace+0x19c/0x210
       [<ffffffff814d651a>] do_ipt_set_ctl+0x16a/0x1b0
       [<ffffffff8147a610>] nf_sockopt+0x60/0xa0
      ...
      
      The __nf_ct_l3proto_find() call doesn't actually need rcu read side
      protection since the caller holds a reference to the protocol. Use
      rcu_read_lock() anyways to avoid the warning.
      
      Kernel bugzilla #15781: https://bugzilla.kernel.org/show_bug.cgi?id=15781Reported-by: NChristian Casteyde <casteyde.christian@free.fr>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      3b254c54
    • D
      net: Fix FDDI and TR config checks in ipv4 arp and LLC. · f0ecde14
      David S. Miller 提交于
      Need to check both CONFIG_FOO and CONFIG_FOO_MODULE
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f0ecde14
    • A
      IPv4: unresolved multicast route cleanup · bbd72543
      Andreas Meissner 提交于
      Fixes the expiration timer for unresolved multicast route entries.
      In case new multicast routing requests come in faster than the 
      expiration timeout occurs (e.g. zap through multicast TV streams), the 
      timer is prevented from being called at time for already existing entries.
      
      As the single timer is resetted to default whenever a new entry is made, 
      the timeout for existing unresolved entires are missed and/or not 
      updated. As a consequence new requests are denied when the limit of 
      unresolved entries has been reached because old entries live longer than 
      they are supposed to.
      
      The solution is to reset the timer only for the first unresolved entry 
      in the multicast routing cache. All other timers are already set and 
      updated correctly within the timer function itself by now.
      
      Signed-off by: Andreas Meissner <andreas.meissner@sphairon.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbd72543
    • M
      Bluetooth: Fix issues where sk_sleep() helper is needed now · 2b0b05dd
      Marcel Holtmann 提交于
      There were some left-overs that used sk->sk_sleep instead of the new
      sk_sleep() helper.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      2b0b05dd
    • T
      Bluetooth: Use strict_strtoul instead of simple_strtoul · 7b767cad
      Tomas Winkler 提交于
      Use strict_strtoul as suggested by checkpatch.pl for more strict input
      checking.
      Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      7b767cad
    • M
      Bluetooth: Create per controller workqueue · f48fd9c8
      Marcel Holtmann 提交于
      Instead of having a global workqueue for all controllers, it makes
      more sense to have a workqueue per controller.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      f48fd9c8
    • G
      Bluetooth: Fix spec error in the RemoteBusy Logic · 844c0972
      Gustavo F. Padovan 提交于
      On the receipt of an RR(P=1) under RemoteBusy set to TRUE(on the RECV
      state table) we have to call sendIorRRorRNR(F=1) and just after set
      RemoteBusy to False. This leads to a freeze in the sending process since
      it's not allowed send data with RemoteBusy set to true and no one
      call SendPending-I-Frames after set RemoteBusy to false(The last action
      for that event).
      
      Actually sendIorRRorRNR() calls SendPending-I-Frames but at that moment
      RemoteBusy is still True and we cannot send any frame, after, no one
      calls SendPending-I-Frames again and the sending process stops.
      
      The solution here is to set RemoteBusy to false inside
      SendPending-I-Frames just before call SendPending-I-Frames. That will
      make SendPending-I-Frames able to send frames. This solution is similar
      to what RR(P=0)(F=0) on the RECV table and RR(P=1) on the SREJ_SENT
      table do.
      
      Actually doesn't make any sense call SendPending-I-Frames if we can send
      any frame, i. e., RemoteBusy is True.
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      844c0972
新手
引导
客服 返回
顶部