1. 11 1月, 2011 1 次提交
  2. 14 10月, 2010 1 次提交
  3. 31 5月, 2010 1 次提交
  4. 20 5月, 2010 1 次提交
  5. 12 5月, 2010 4 次提交
  6. 27 4月, 2010 1 次提交
  7. 19 4月, 2010 1 次提交
    • J
      netfilter: xtables: make ip_tables reentrant · f3c5c1bf
      Jan Engelhardt 提交于
      Currently, the table traverser stores return addresses in the ruleset
      itself (struct ip6t_entry->comefrom). This has a well-known drawback:
      the jumpstack is overwritten on reentry, making it necessary for
      targets to return absolute verdicts. Also, the ruleset (which might
      be heavy memory-wise) needs to be replicated for each CPU that can
      possibly invoke ip6t_do_table.
      
      This patch decouples the jumpstack from struct ip6t_entry and instead
      puts it into xt_table_info. Not being restricted by 'comefrom'
      anymore, we can set up a stack as needed. By default, there is room
      allocated for two entries into the traverser.
      
      arp_tables is not touched though, because there is just one/two
      modules and further patches seek to collapse the table traverser
      anyhow.
      Signed-off-by: NJan Engelhardt <jengelh@medozas.de>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      f3c5c1bf
  8. 13 4月, 2010 1 次提交
  9. 25 3月, 2010 3 次提交
  10. 18 3月, 2010 3 次提交
  11. 25 2月, 2010 2 次提交
  12. 16 2月, 2010 1 次提交
  13. 15 2月, 2010 1 次提交
  14. 11 2月, 2010 1 次提交
    • J
      netfilter: xtables: use xt_table for hook instantiation · 2b95efe7
      Jan Engelhardt 提交于
      The respective xt_table structures already have most of the metadata
      needed for hook setup. Add a 'priority' field to struct xt_table so
      that xt_hook_link() can be called with a reduced number of arguments.
      
      So should we be having more tables in the future, it comes at no
      static cost (only runtime, as before) - space saved:
      6807373->6806555.
      Signed-off-by: NJan Engelhardt <jengelh@medozas.de>
      2b95efe7
  15. 10 2月, 2010 2 次提交
  16. 03 2月, 2010 1 次提交
  17. 02 2月, 2010 1 次提交
  18. 18 1月, 2010 2 次提交
  19. 05 11月, 2009 1 次提交
  20. 24 8月, 2009 1 次提交
  21. 10 8月, 2009 1 次提交
  22. 04 6月, 2009 1 次提交
  23. 02 5月, 2009 1 次提交
  24. 29 4月, 2009 1 次提交
  25. 27 3月, 2009 1 次提交
  26. 26 3月, 2009 1 次提交
  27. 20 2月, 2009 1 次提交
    • S
      netfilter: iptables: lock free counters · 78454473
      Stephen Hemminger 提交于
      The reader/writer lock in ip_tables is acquired in the critical path of
      processing packets and is one of the reasons just loading iptables can cause
      a 20% performance loss. The rwlock serves two functions:
      
      1) it prevents changes to table state (xt_replace) while table is in use.
         This is now handled by doing rcu on the xt_table. When table is
         replaced, the new table(s) are put in and the old one table(s) are freed
         after RCU period.
      
      2) it provides synchronization when accesing the counter values.
         This is now handled by swapping in new table_info entries for each cpu
         then summing the old values, and putting the result back onto one
         cpu.  On a busy system it may cause sampling to occur at different
         times on each cpu, but no packet/byte counts are lost in the process.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      
      Sucessfully tested on my dual quad core machine too, but iptables only (no ipv6 here)
      BTW, my new "tbench 8" result is 2450 MB/s, (it was 2150 MB/s not so long ago)
      Acked-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      78454473
  28. 18 2月, 2009 1 次提交
  29. 13 1月, 2009 1 次提交
  30. 25 11月, 2008 1 次提交