On Mon, Sep 26, 2016 at 8:52 PM, Darrell Ball <dlu...@gmail.com> wrote:

>
>
> On Mon, Sep 26, 2016 at 7:34 AM, Gurucharan Shetty <g...@ovn.org> wrote:
>
>> Signed-off-by: Gurucharan Shetty <g...@ovn.org>
>> ---
>>  INSTALL.md | 23 ++++++++++++++++++++++-
>>  1 file changed, 22 insertions(+), 1 deletion(-)
>>
>> diff --git a/INSTALL.md b/INSTALL.md
>> index bb40e4a..6ecefdf 100644
>> --- a/INSTALL.md
>> +++ b/INSTALL.md
>> @@ -322,9 +322,30 @@ Building the Sources
>>  4. Run "make install" to install the executables and manpages into the
>>     running system, by default under /usr/local.
>>
>> -5. If you built kernel modules, you may install and load them, e.g.:
>> +5. If you built kernel modules, you may install them, e.g.:
>>
>>        `% make modules_install`
>> +
>> +    It is possible that you already had a Open vSwitch kernel module
>> +    installed on your machine that came from upstream Linux (in a
>> +    different directory).  To make sure that you insert the Open vSwitch
>> +    kernel module you built from this repository, you should create a
>> +    depmod.d file that prefers your newly installed kernel modules over
>> +    the kernel modules from upstream Linux.  The following snippet of
>> +    code achieves the same.
>> +
>> +    ```
>> +    % config_file="/etc/depmod.d/openvswitch.conf"
>> +    % for module in datapath/linux/*.ko; do
>> +      modname="$(basename ${module})"
>> +      echo "override $modname * extra" >> "$config_file"
>> +      echo "override $modname * weak-updates" >> "$config_file"
>> +      done
>> +    % depmod -a
>> +    ```
>> +
>>
>
> I tried the script
>
> #!/bin/bash
> config_file="/etc/depmod.d/openvswitch.conf"
> for module in datapath/linux/*.ko; do
> modname="$(basename ${module})"
> echo "override $modname * extra" >> "$config_file"
> echo "override $modname * weak-updates" >> "$config_file"
> done
> depmod -a
>
> on Ubuntu 14.04 and the script generated the expected
> file contents
>
> dball@ubuntu:~/openvswitch/ovs/_gcc$ cat /etc/depmod.d/openvswitch.conf
> override openvswitch.ko * extra
> override openvswitch.ko * weak-updates
> override vport-geneve.ko * extra
> override vport-geneve.ko * weak-updates
> override vport-gre.ko * extra
> override vport-gre.ko * weak-updates
> override vport-lisp.ko * extra
> override vport-lisp.ko * weak-updates
> override vport-stt.ko * extra
> override vport-stt.ko * weak-updates
> override vport-vxlan.ko * extra
> override vport-vxlan.ko * weak-updates
>
> However the "extra" directory where locally built ovs kos are installed is
> not
> taking precedence
>
> dball@ubuntu:~/openvswitch/ovs/_gcc$ sudo modinfo openvswitch
> filename:       /lib/modules/3.19.0-25-generic/kernel/net/openvswitch/
> openvswitch.ko
> license:        GPL
> description:    Open vSwitch switching datapath
> srcversion:     EB1236CA2503B5F233DE125
> depends:        libcrc32c
> intree:         Y
> vermagic:       3.19.0-25-generic SMP mod_unload modversions
> signer:         Magrathea: Glacier signing key
> sig_key:        6A:AA:11:D1:8C:2D:3A:40:B1:B4
> :DB:E5:BF:8A:D6:56:DD:F5:18:38
> sig_hashalgo:   sha512
>
> So I edited the script to do something minimal, although it may not
> work for all distributions ?
>
> #!/bin/bash
> config_file="/etc/depmod.d/openvswitch.conf"
> echo "search extra" >> "$config_file"
> depmod -a
>
> dball@ubuntu:~/openvswitch/ovs/_gcc$ cat /etc/depmod.d/openvswitch.conf
> search extra
>
> and it seems to work (i.e. overrides my default config file) on Ubuntu
>

I checked into this further and depmod just seems to be using an
alphabetical order for depmod
config files !
It does not seem to differentiate non-default vs default config files.
Hence, this approach will not work.



>
> dball@ubuntu:~/openvswitch/ovs/_gcc$ sudo modinfo openvswitch
> filename:       /lib/modules/3.19.0-25-generic/extra/openvswitch.ko
> alias:          net-pf-16-proto-16-family-ovs_packet
> alias:          net-pf-16-proto-16-family-ovs_flow
> alias:          net-pf-16-proto-16-family-ovs_vport
> alias:          net-pf-16-proto-16-family-ovs_datapath
> version:        2.6.90
> license:        GPL
> description:    Open vSwitch switching datapath
> srcversion:     E30F336D9883ACAE1CB02EA
> depends:        nf_conntrack,nf_nat,nf_defrag_ipv6,libcrc32c,nf_nat_ipv6,
> nf_nat_ipv4,gre,nf_defrag_ipv4
> vermagic:       3.19.0-25-generic SMP mod_unload modversions
> parm:           udp_port:Destination UDP port (ushort)
>







>
>
>
>
>
>> +    Finally, load the kernel modules that you need.  e.g.:
>> +
>>        `% /sbin/modprobe openvswitch`
>>
>>     To verify that the modules have been loaded, run "/sbin/lsmod" and
>> --
>> 1.9.1
>>
>> _______________________________________________
>> dev mailing list
>> dev@openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
>>
>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to