datapath: Use openvswitch_handle_frame hook in >=RHEL6.4 to live side by side with...
authorThomas Graf <tgraf@redhat.com>
Fri, 26 Apr 2013 10:03:10 +0000 (12:03 +0200)
committerJesse Gross <jesse@nicira.com>
Mon, 29 Apr 2013 17:27:30 +0000 (10:27 -0700)
commit22778152e8eec5e58a077dc04a6efd4d19a75248
treee4d3684ad40225bf926ec06e6e86f08b62a33c97
parent2d58ad0bf6b773c776e3091a89032e57dafc9b14
datapath: Use openvswitch_handle_frame hook in >=RHEL6.4 to live side by side with bridging

Due to the missing register rx_handler API in the kernel RHEL6 is
based on, the datapath currently falls back to using the bridging
hook with the consequence that bridging and OVS cannot be used in
parallel on any RHEL6 release.

For this purpose, >=RHEL6.4 releases provide a special rx frame hook
to be used by OVS. It captures frames at the same location in the
stack as the rx_handler would do in more recent kernel releases. In
order to store the vport pointer, the net_device's ax25_ptr field is
utilized under the assumption that an AX25 device will never be
attached to an OVS bridge.

Signed-off-by: Thomas Graf <tgraf@redhat.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
(cherry picked from commit f285d3e715512571c4b2f92a4d1c65022bbcc9d5)

Conflicts:
datapath/vport-netdev.c
acinclude.m4
datapath/vport-netdev.c