On Wed, Jan 18, 2012 at 2:49 PM, Pravin B Shelar <[email protected]> wrote:
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
> +#define net_assign_generic rpl_net_assign_generic
> +int net_assign_generic(struct net *net, int id, void *data);
> +#endif /* 2.6.32 */

I think this is only used in net_namespace.c, so it's probably better
to put in there.  If it actually is used somewhere else then it came
from generic.h in 2.6.32.

> diff --git a/datapath/linux/compat/net_namespace.c 
> b/datapath/linux/compat/net_namespace.c
> new file mode 100644
> index 0000000..7b0c1bd
> --- /dev/null
> +++ b/datapath/linux/compat/net_namespace.c
> +#if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32)
> +#define DEFINE_PNET_REG_FUNC(PNET_TYPE)                                      
>   \
> +       static struct rpl_pernet_operations *pnet_##PNET_TYPE;                
>   \
> +static int __net_init compat_init_net_##PNET_TYPE(struct net *net)     \
> +{                                                                      \
> +       return compat_init_net(net, pnet_##PNET_TYPE);          \
> +}                                                                      \
> +\
> +static void __net_exit compat_exit_net_##PNET_TYPE(struct net *net)    \
> +{                                                                      \
> +       compat_exit_net(net, pnet_##PNET_TYPE);                 \
> +}                                                                      \
> +\
> +static struct pernet_operations pnet_compat_##PNET_TYPE = {            \
> +       .init = compat_init_net_##PNET_TYPE,                            \
> +       .exit = compat_exit_net_##PNET_TYPE,                            \
> +};                                                                     \
> +\
> +int rpl_register_pernet_##PNET_TYPE(struct rpl_pernet_operations *rpl_pnet)  
>   \
> +{                                                                      \
> +       pnet_##PNET_TYPE = rpl_pnet;                                    \
> +       return register_pernet_##PNET_TYPE(pnet_##PNET_TYPE->id, 
> &pnet_compat_##PNET_TYPE); \
> +}                                                                            
>   \
> +\
> +void rpl_unregister_pernet_##PNET_TYPE(struct rpl_pernet_operations *pnet)   
>   \
> +{                                                                            
>           \
> +       unregister_pernet_##PNET_TYPE(*pnet->id, &pnet_compat_##PNET_TYPE);   
>   \
> +}

Can you line up the backslashes here?  At first glance, I missed some of them.

> +int rpl_register_pernet_gen_device(struct rpl_pernet_operations *rpl_pnet)
> +{
> +       *rpl_pnet->id = count++;
> +       return  compat_init_net(net, rpl_pnet);

Extra space.

I think this basically looks good though, so:
Acked-by: Jesse Gross <[email protected]>

When you are ready, can you also provide a version of this for the
upstream tree?
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to