Hi Cong,

Thanks for your questions.

> On 22 Mar 2019, at 17:39, Cong Wang <xiyou.wangc...@gmail.com> wrote:
> 
> Hello,
> 
> On Fri, Mar 22, 2019 at 7:09 AM Kevin 'ldir' Darbyshire-Bryant
> <l...@darbyshire-bryant.me.uk> wrote:
>> 
>> Conndscp is a new tc filter action module.  It is designed to copy DSCPs
>> to conntrack marks and the reverse operation of conntrack mark contained
>> DSCPs to the diffserv field of suitable skbs.
>> 
> 
> Is it possible and feasible to integrate this into connmark?

I started off coding it that way but quickly ran into my limitations with 
netlink messaging and became frustrated.  Aside from my own limitations, 
conndscp ab/uses tcf_qstats requeues & overlimits to indicate DSCP->MARK->DSCP 
operations and has been useful in proving DSCP/marking operations are occurring 
in the right times/places.  Integrating with connmark which itself uses 
overlimits to indicate conntrack mark to skb->mark restoration would lose that 
differentiation/confirmation/debug ability.  A possibility is to ab/use the 
drop count instead but I fear that would cause confusion.

> Both are intended to retrieve information from conntrack and store
> it into skb. I know the name "connmark" already says it is a mark,
> while yours isn't, I still want to see if we can avoid code duplications.

I understand your quest :-)  I think conndscp does a bit more than connmark.  
Conndscp is two way diffserv<-->conntrack mark operation.  connmark is a single 
way conntrack mark->skb.mark operation.

Please let me know your thoughts and whether I’m talking out of my 
inexperienced backside, which direction I should go and I shall gladly take 
your advice…and improve my C some more :-)


Many thanks,

Kevin D-B

gpg: 012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A

Reply via email to