[ovs-discuss] Linux 3.0 Support

Sébastien Riccio sr at swisscenter.com
Tue Sep 20 04:54:23 UTC 2011


Hi,

I tried too, to get openvswitch datapath module compile with 3.1-rc6 
kernel, but with no luck. Seems skipping the hh calls in tunnel.c won't 
do it, it then complains about something else :/

-> Back to 3.0  :)

   CC [M]  /usr/src/openvswitch/datapath/linux/vport-internal_dev.o
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c: In function 
‘do_setup’:
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:159:8: error: 
‘struct net_device’ has no member named ‘do_ioctl’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:160:8: error: 
‘struct net_device’ has no member named ‘get_stats’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:161:8: error: 
‘struct net_device’ has no member named ‘hard_start_xmit’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:162:8: error: 
‘struct net_device’ has no member named ‘open’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:163:8: error: 
‘struct net_device’ has no member named ‘stop’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:164:8: error: 
‘struct net_device’ has no member named ‘set_mac_address’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:165:8: error: 
‘struct net_device’ has no member named ‘change_mtu’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c: In function 
‘is_internal_dev’:
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:286:15: error: 
‘const struct net_device’ has no member named ‘open’
/usr/src/openvswitch/datapath/linux/vport-internal_dev.c:288:1: warning: 
control reaches end of non-void function [-Wreturn-type]
make[5]: *** [/usr/src/openvswitch/datapath/linux/vport-internal_dev.o] 
Error 1

Sébastien

On 06.09.2011 11:04, Justin Pettit wrote:
> I'm guessing because they're going to remove the "hh" member from the "dst_entry" struct in Linux 3.1.  ;-)  I imagine shortly after 3.1 is released, we'll make the version in git work with it.  In the meantime, you're better off using Linux 3.0 unless you want to modify the OVS source yourself.  If you don't care about tunneling, you may be able to just comment out the offending lines, but of course you may run into other problems.
>
> Good luck!
>
> --Justin
>
>
> On Sep 6, 2011, at 1:46 AM, Nikhil Handigol wrote:
>
>> Ah! Thanks, Justin!
>>
>> I reran "./boot.sh" (after a make distclean) and that got me past the configure errors. Since I'm compiling OVS for kernel v3.1.0, I made a small change in datapath/linux/datapath.c -- changed line 57 to:
>> "LINUX_VERSION_CODE>  KERNEL_VERSION(3,1,0)"
>>
>> Now "make" gives me the following errors:
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c: In function ‘check_cache_valid’:
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:844: error: ‘struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c: In function ‘create_eth_hdr’:
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:879: error: ‘const struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:880: error: ‘const struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:886: error: ‘const struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:887: error: ‘const struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:888: error: ‘const struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c: In function ‘build_cache’:
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:914: error: ‘struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:930: error: ‘struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:940: error: ‘struct dst_entry’ has no member named ‘hh’
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c: In function ‘tnl_send’:
>> /home/nikhilh/openvswitch/datapath/linux/tunnel.c:1270: error: ‘struct dst_entry’ has no member named ‘hh’
>>
>> Any suggestions on how to fix this?
>>
>> Thanks,
>> Nikhil
>>
>>
>> On Tue, Sep 6, 2011 at 12:41 AM, Justin Pettit<jpettit at nicira.com>  wrote:
>> I assume you're doing this from git, right?  Have you run "./boot.sh" lately?
>>
>> --Justin
>>
>>
>> On Sep 6, 2011, at 12:17 AM, Nikhil Handigol wrote:
>>
>>> I tried compiling on kernel 3.1.0-rc4:
>>> ./configure --with-linux=/usr/src/linux-headers-`uname -r`
>>>
>>> I got the following error:
>>> configure: creating ./config.status
>>> config.status: creating Makefile
>>> config.status: creating datapath/Makefile
>>> config.status: error: cannot find input file: `datapath/linux-2.6/Kbuild.in'
>>>
>>>
>>> Am I doing something wrong?
>>>
>>> -/\/
>>>
>>>
>>> On Tue, Sep 6, 2011 at 12:12 AM, Justin Pettit<jpettit at nicira.com>  wrote:
>>> Both of these changes have been available since the 1.2.0 release of Open vSwitch.
>>>
>>> --Justin
>>>
>>>
>>> On Sep 6, 2011, at 12:04 AM, Nikhil Handigol wrote:
>>>
>>>> Hi Ben,
>>>>
>>>> Where can I find the patches?
>>>>
>>>> Thanks,
>>>> Nikhil
>>>>
>>>>
>>>> On Wed, Jun 22, 2011 at 10:23 AM, Ben Pfaff<blp at nicira.com>  wrote:
>>>> On Mon, Jun 20, 2011 at 02:29:49PM -0700, Andrew Evans wrote:
>>>>> I think a proper fix would be to rename the '--with-l26' configure option to
>>>>> '--with-linux' and change the configure-time kernel version check to allow
>>>>> 2.6.x or 3.x.
>>>> I sent out patches for this.
>>>> _______________________________________________
>>>> discuss mailing list
>>>> discuss at openvswitch.org
>>>> http://openvswitch.org/mailman/listinfo/discuss
>>>>
>>>
>>
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss
>




More information about the discuss mailing list