> On 22 Mar 2019, at 20:05, Cong Wang <xiyou.wangc...@gmail.com> wrote: > > On Fri, Mar 22, 2019 at 11:26 AM Kevin 'ldir' Darbyshire-Bryant > <l...@darbyshire-bryant.me.uk> wrote: >> >> 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. > > This sounds problematic, why a flag/parameter doesn't work? > I don’t understand the question?
> >> >>> 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. > > I am not sure if it is a good idea to modify conntrack in TC, > as conntrack doesn't even belong to TC. Retrieving information > from conntrack and saving it to skb is fine, as we modify skb > in many different ways. OK, this is why I wanted to ask as RFC before I went too far implementing stuff. AFAIUI you’re saying it’s tc is okay to restore stuff from a connmark but not to set/change the conntrack mark. So I need to find a legal place to store a DSCP into a conntrack mark. Cheers, Kevin