Al Viro
e1b4b9f398
[NETFILTER]: {ip,ip6,arp}_tables: fix exponential worst-case search for loops
...
If we come to node we'd already marked as seen and it's not a part of path
(i.e. we don't have a loop right there), we already know that it isn't a
part of any loop, so we don't need to revisit it.
That speeds the things up if some chain is refered to from several places
and kills O(exp(table size)) worst-case behaviour (without sleeping,
at that, so if you manage to self-LART that way, you are SOL for a long
time)...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-12-13 16:48:23 -08:00
..
2006-12-13 16:48:23 -08:00
2006-09-22 14:55:34 -07:00
2006-09-22 14:55:33 -07:00
2006-12-02 21:31:22 -08:00
2006-12-07 08:39:25 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:31:22 -08:00
2006-09-28 18:03:00 -07:00
2006-12-02 21:31:28 -08:00
2006-09-22 15:18:54 -07:00
2006-12-02 21:31:33 -08:00
2006-09-28 18:03:00 -07:00
2006-09-28 18:03:00 -07:00
2006-09-28 18:03:00 -07:00
2006-09-22 15:18:54 -07:00
2006-12-02 21:31:26 -08:00
2006-12-02 21:31:33 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:23:42 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:23:42 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:23:42 -08:00
2006-12-02 22:05:08 -08:00
2006-12-02 21:23:42 -08:00
2006-12-02 21:23:42 -08:00
2006-01-10 12:54:34 -08:00
2006-09-28 18:03:01 -07:00
2006-12-02 21:31:26 -08:00
2006-12-02 21:27:17 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 21:31:22 -08:00
2006-12-02 21:21:38 -08:00
2006-12-13 16:48:23 -08:00
2006-09-28 18:01:07 -07:00
2006-09-22 14:55:34 -07:00
2006-12-13 16:48:21 -08:00
2006-09-22 14:55:34 -07:00
2006-12-02 21:23:42 -08:00
2006-03-28 17:02:48 -08:00
2006-12-02 21:31:31 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:07:13 -08:00
2006-09-22 14:55:34 -07:00
2006-12-08 08:28:48 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 21:21:38 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 21:23:42 -08:00
2006-03-28 17:02:48 -08:00
2006-12-02 21:23:42 -08:00
2006-03-28 17:02:48 -08:00
2006-12-02 21:23:42 -08:00
2006-12-02 21:21:38 -08:00
2006-09-22 14:55:33 -07:00
2006-12-02 21:21:39 -08:00
2006-09-22 14:55:33 -07:00
2006-12-13 16:48:19 -08:00
2006-12-02 22:10:34 -08:00
2006-12-02 21:31:20 -08:00
2006-12-02 22:11:25 -08:00
2006-12-02 22:11:25 -08:00
2006-12-02 22:08:26 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:07:44 -08:00
2006-12-02 22:08:46 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:09:06 -08:00
2006-12-02 22:09:41 -08:00
2006-12-02 22:09:41 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:09:57 -08:00
2006-12-02 22:10:34 -08:00
2006-12-02 22:07:13 -08:00
2006-12-02 22:10:18 -08:00