| To: | "David S. Miller" <davem@xxxxxxxxxx> |
|---|---|
| Subject: | Re: [RFC] High Performance Packet Classifiction for tc framework |
| From: | Michael Bellion and Thomas Heinz <nf@xxxxxxxxx> |
| Date: | Tue, 12 Aug 2003 16:56:33 +0200 |
| Cc: | hadi@xxxxxxxxxx, linux-net@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx |
| In-reply-to: | <20030811224050.59bc36fe.davem@xxxxxxxxxx> |
| References: | <200307141045.40999.nf@xxxxxxxxx> <1058328537.1797.24.camel@xxxxxxxxxxxxxxxx> <3F16A0E5.1080007@xxxxxxxxx> <1059934468.1103.41.camel@xxxxxxxxxxxxxxxx> <3F2E5CD6.4030500@xxxxxxxxx> <1060012260.1103.380.camel@xxxxxxxxxxxxxxxx> <3F302E04.1090503@xxxxxxxxx> <1060286331.1025.73.camel@xxxxxxxxxxxxxxxx> <3F381B3E.6080807@xxxxxxxxx> <20030811224050.59bc36fe.davem@xxxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| User-agent: | Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.4) Gecko/20030714 Debian/1.4-2 |
Hi David You wrote: The ipv4 FIB hash tables tackle exactly this problem. The resulting worse cast complexity is O(n_bits_in_prefix_mask). The problem you've described is exactly the same as trying to use hashing for routing tables.
Yes, that's true for the 1-dimensional case. You refer to the
following algorithm, don't you?
min_prio := infinity
match_rule := nil
for all list_entries e: { // at most w+1 entries where w is the bit
// width of the keys
rule = lookup(hash(e), packet) // let's assume O(1) here
if (prio(rule) < min_prio) {
min_prio = prio(rule)
match_rule = rule
}
}
return match_rule
This algorithm has running time O(w).
[In fact it's O(number of different prefix lengths) which is O(w)
in the worst case.]
But what about the d-dimensional case? If you extend this
approach to handle rules with d prefix based matches you end
up in a running time of: O(w^d)
(assuming w to be the max. bit width)
This is definitely not desirable.
Regards,
+-----------------------+----------------------+
| Michael Bellion | Thomas Heinz |
| <mbellion@xxxxxxxxx> | <creatix@xxxxxxxxx> |
+-----------------------+----------------------+
| High Performance Packet Classification |
| nf-hipac: http://www.hipac.org/ |
+----------------------------------------------+
|
| Previous by Date: | Re: [SET 2][PATCH 2/8][bonding] Propagating master'ssettings toslaves, Shmulik Hen |
|---|---|
| Next by Date: | Re: [Bonding-devel] Re: [SET 2][PATCH 2/8][bonding] Propagating master'ssettings toslaves, jamal |
| Previous by Thread: | Re: [RFC] High Performance Packet Classifiction for tc framework, David S. Miller |
| Next by Thread: | Re: [RFC] High Performance Packet Classifiction for tc framework, Jamie Lokier |
| Indexes: | [Date] [Thread] [Top] [All Lists] |