Re: Patch to add netfilter mark support

From: Andrew Beverley <andy_at_andybev.com>
Date: Wed, 15 Sep 2010 13:50:38 +0100

On Wed, 2010-09-15 at 19:44 +1200, Amos Jeffries wrote:
> On 15/09/10 18:12, Andrew Beverley wrote:
> > On Wed, 2010-09-15 at 02:06 +0000, Amos Jeffries wrote:
> >> On Tue, 14 Sep 2010 23:55:20 +0100, Andrew Beverley<andy_at_andybev.com>
> >> wrote:
> >>>> * Config.accessList.outgoingTos, Config.accessList.clientsideTos,
> >>>> Config.accessList.outgoingNfmark, Config.accessList.clientsideNfmark
> >> can
> >>>> become members of the Qos scope Config object. All the parsing /free
> >>>> stuff
> >>>> can be moved there too with some #define parse_...() etc for the legacy
> >>>> parser.
> >>>>
> >>>
> >>> I've moved all the configuration variables and functions to the Qos
> >>> scope. I have renamed parse_acl_tos(acl_tos ** head) as
> >>> Ip::Qos::Config::parseConfigAclTos(acl_tos ** head).
> >>>
> >>> However, I'm unable to compile because of the following error:
> >>>
> >>> Qos.cc: In member function ‘void
> >>> Ip::Qos::Config::parseConfigAclTos(acl_tos**)’:
> >>> Qos.cc:377: error: argument of type ‘void (Ip::Qos::Config::)(void*)’
> >> does
> >>> not match ‘void (*)(void*)’
> >>>
> >>> The code at line 377 is:
> >>>
> >>> CBDATA_INIT_TYPE_FREECB(acl_tos, freedConfigAclTos);
> >>>
> >>> I have
> >>>
> >>> CBDATA_TYPE(acl_tos);
> >>>
> >>> specified before the parseConfigAclTos function.
> >>>
> >>> Could you give me any ideas as to what I am doing wrong here? If you
> >>> need me to send through any more of the code then please let me know.
> >>
> >> Do you have this with a cast?
> >> #define parse_acl_tos(X) Ip::Qos::Config::parseConfigAclTos((acl_tos
> >> **)X)
> >>
> >> with the cf.data.pre "TYPE: acl_tos" unchanged.
> >
> > No, I had changed it. However, I have now changed it back to the above,
> > but still get the same error. Any other ideas?
> >
> > Qos.cc: In member function ‘void Ip::Qos::Config::parseConfigAclTos(acl_tos**)’:
> > Qos.cc:377: error: argument of type ‘void (Ip::Qos::Config::)(void*)’ does not match ‘void (*)(void*)’
> >
> > I have attached my current Qos.cc and Qos.h
> >
> > Thanks,
> >
> > Andy
> >
>
> Darn CBDATA strikes again. What the hell, lets skip this shuffle change
> then and get the rest of the work in separately.

So have the configuration variables in Qos class (I already have this
working), and keep the config functions in cache_cf.cc?

Thanks,

Andy
Received on Wed Sep 15 2010 - 12:50:51 MDT

This archive was generated by hypermail 2.2.0 : Wed Sep 15 2010 - 12:00:06 MDT