DragonFly submit List (threaded) for 2007-10
DragonFly BSD
DragonFly submit List (threaded) for 2007-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: switch dymmynet from mbuf based tagging to m_tag


From: "Sepherosa Ziehau" <sepherosa@xxxxxxxxx>
Date: Mon, 22 Oct 2007 14:17:12 +0800

On 10/22/07, Matthew Dillon <dillon@apollo.backplane.com> wrote:
>
> :Hi all,
> :
> :Followin patcch switches dymmynet from mbuf based tagging to m_tag:
> :http://leaf.dragonflybsd.org/~sephe/dummynet_mtag.diff
> :
> :Please review it.  If no objection comes, it will committed three days later.
> :
> :Best Regards,
> :sephe
>
>      I didn't test it but it looks like a nice cleanup.  I do have one
>      concern, and that is the 'rule' is being referenced in the mtag
>      (and was referenced in the mbuf originally as well)... what happens
>      if the rule is deleted while there are packets in transit referencing
>      it?

Hmm, that's problematic.  How about fixing it in following way:
1) add a key field to ipfw rule (e.g. random number when rule was created)
2) hash ipfw rules using above key, mainly to accelerate the following
ipfw rule looking up
3) when recording ipfw rule address in dummynet m_tag, the key of the
ipfw rule is recorded in a seperate field in dummynet m_tag too
4) in ipfw_chk(), we try finding the rule using the key recorded in
dummynet m_tag, and compare the found ipfw rule address with the ipfw
rule address recorded in dummynet m_tag, if they match then the rule
is not deleted

But I think that's a different problem than what the above patch
intends to address, so I don't want to fix them in one patch :)

Best Regards,
sephe

-- 
Live Free or Die



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]