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:05:21 +0000 (10:05 -0700)
commit549287885d03db43cd575a3d53a8fca19beb8862
tree3bd2f587ac5c0fe969e2776968b6c96c111cb637
parent588a4a3f8fdfe928eca7fbce687e1bc6aa4294c5
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