[ovs-dev] [LNG] Re: datapath: remove HAVE_MAC_RAW

Viresh Kumar viresh.kumar at linaro.org
Mon Sep 2 07:13:39 UTC 2013


On 31 August 2013 05:45, Jesse Gross <jesse at nicira.com> wrote:
> Out of curiosity, what is the actual symbol that we're finding in the RT kernel?

Its not about RT kernel really..

Following patch did this:
b0e380b [SK_BUFF]: unions of just one member don't get anything done, kill them


diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 230dd43..c45ad12 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -69,8 +69,8 @@

[snip]

@@ -236,18 +236,9 @@ struct sk_buff {
        int                     iif;
        /* 4 byte hole on 64 bit*/

-       union {
-               unsigned char   *raw;
-       } h;
-
-       union {
-               unsigned char   *raw;
-       } nh;
-
-       union {
-               unsigned char   *raw;
-       } mac;
-
+       unsigned char           *transport_header;
+       unsigned char           *network_header;
+       unsigned char           *mac_header;
        struct  dst_entry       *dst;
        struct  sec_path        *sp;

-------x--------------------x----------------
This is why we have code in OVS repo which searches just for "raw"
keyword and things used to work well...

But in RT kernel we have few usages of "raw"...
viresh at blr-linut-001:$ ggrep raw include/linux/skbuff.h
include/linux/skbuff.h: raw_spinlock_t  raw_lock;
include/linux/skbuff.h:static inline void
skb_queue_head_init_raw(struct sk_buff_head *list)
include/linux/skbuff.h: raw_spin_lock_init(&list->raw_lock);

And this causes confusion to our script.. And so I am trying to
search for "*raw;" to make the search more accurate :)



More information about the dev mailing list