Last month I wrote how I built Open vSwitch 1.4.0 package on Ubuntu 12.04. Immediately afterwards I left my lab and when I returned to it, nearly a month later, I ran an apt-get upgrade out of habit. Consequently, the kernel got upgraded from 3.2.0-34 to 3.2.0-36 and I ran into the following error when starting the OVS service:
root@pakdude-02:~# uname -a
Linux pakdude-02 3.2.0-36-generic #57-Ubuntu SMP Tue Jan 8 21:44:52 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
root@pakdude-02:~# service openvswitch-switch start
FATAL: Module openvswitch_mod not found.
* Inserting openvswitch module
Module has probably not been built for this kernel.
For instructions, read
/usr/share/doc/openvswitch-datapath-source/README.Debian
FATAL: Module openvswitch_mod not found.
* Inserting openvswitch module
root@pakdude-02:~#
It turns out that this was because the kernel modules also needed to be updated. The following command did the trick:
root@pakdude-02:~# module-assistant auto-install openvswitch-datapath
I could have simply typed the following instead with the same consequences.
root@pakdude-02:~# m-a a-i openvswitch-datapath
As per the documentation, module-assistant aims to facilitate the process of building kernel modules from source. In other words, this needs to be run each time the kernel is upgraded.