[ovs-dev] datapath: remove HAVE_MAC_RAW

Jesse Gross jesse at nicira.com
Mon Aug 26 16:29:29 UTC 2013


On Sun, Aug 25, 2013 at 11:36 PM, Viresh Kumar <viresh.kumar at linaro.org> wrote:
> This was causing it to fail against latest RT kernels, with following errors:
>
>         In file included from /home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/compat/include/linux/if_vlan.h:6:0,
>                          from /home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/actions.c:29:
>         /home/arm/work/kernel/linaro/lng/lng.git/include/linux/if_vlan.h: In function vlan_insert_tag:
>         /home/arm/work/kernel/linaro/lng/lng.git/include/linux/if_vlan.h:197:5: error: struct sk_buff has no member named mac
>         In file included from /home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/../flow.h:34:0,
>                          from /home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/../datapath.h:31,
>                          from /home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/actions.c:36:
>         /home/arm/work/kernel/linaro/lng/lng.git/include/net/inet_ecn.h: In function INET_ECN_set_ce:
>         /home/arm/work/kernel/linaro/lng/lng.git/include/net/inet_ecn.h:137:10: error: struct sk_buff has no member named nh
>         /home/arm/work/kernel/linaro/lng/lng.git/include/net/inet_ecn.h:142:10: error: struct sk_buff has no member named nh
>         /home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/actions.c: In function __pop_vlan_tci:
>         /home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/actions.c:72:5: error: struct sk_buff has no member named mac
>         make[7]: *** [/home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux/actions.o] Error 1
>         make[6]: *** [_module_/home/arm/work/kernel/linaro/lng/openvswitch/datapath/linux] Error 2
>
> Not sure why it was added earlier but my guess is, for earlier RT kernels struct
> sk_buff had following variables mac.raw, nh.raw, h.raw instead of mac_header,
> network_header, transport_header. And so the hack to rename them in OVS code.
> But that's not the case now. RT kernel have mac_header, network_header and
> transport_header as parameter and so we don't need this macro at all.
>
> Lets get rid of it.
>
> Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>

This is compatibility code for older kernels so by definition it
doesn't exist in current kernels. You can't just remove it.



More information about the dev mailing list