tun: vrouter memory corruption

Bug #1394461 reported by Anand H. Krishnan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
High
Anand H. Krishnan
R2.0
Fix Committed
High
Anand H. Krishnan

Bug Description

If a tun interface is added as the physical interface to the vrouter, packets that go out will not have a layer 2 header. The layer 3 unicast nexthops is shared across ipv4 and ipv6 and the layer 2 protocol field of the rewrite information is updated every time a packet hits the nexthop, based on whether the packet is ipv4 or ipv6. There are a couple of issues with this. One is that it is not MP safe and other is that the protocol field should be updated only if there is any rewrite information to be added. There will not be any rewrite information for packets egressing a tunnel interface.

Tags: vrouter
Changed in juniperopenstack:
assignee: nobody → Anand H. Krishnan (anandhk)
tags: added: vrouter
information type: Proprietary → Public
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/4795
Committed: http://github.org/Juniper/contrail-vrouter/commit/8d4e68a82c46b30124f180dacae2a8e578a5a9a4
Submitter: Zuul
Branch: master

commit 8d4e68a82c46b30124f180dacae2a8e578a5a9a4
Author: Anand H Krishnan <email address hidden>
Date: Wed Nov 19 22:13:23 2014 -0800

Layer 3 unicast nexthops should update layer 2 protocol fields only if
layer 2 information needs to be added.

Layer 3 unicast nexthops is shared across ipv4 and ipv6. The layer 2
protocol field of the rewrite information is updated every time a packet hits
the nexthop, based on whether the packet is ipv4 or ipv6. There are a couple
of issues with this way of doing things. One is that it is not MP safe and
other is that the protocol field should be updated only if there is any rewrite
information to be added.

There will not be any rewrite information for packets egressing a tunnel interface,
and hence the layer 2 protocol information should not be added.

Closes-BUG: #1394461
Change-Id: If06c41127501ed1f5971228269cfbc8a533518c6

Changed in juniperopenstack:
status: New → Fix Committed
Changed in juniperopenstack:
importance: Undecided → High
milestone: none → r2.0-fcs
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/4870
Committed: http://github.org/Juniper/contrail-vrouter/commit/42c266ae7124734866077661d18d5d9cd3f1effd
Submitter: Zuul
Branch: R2.0

commit 42c266ae7124734866077661d18d5d9cd3f1effd
Author: Anand H Krishnan <email address hidden>
Date: Wed Nov 19 22:13:23 2014 -0800

Layer 3 unicast nexthops should update layer 2 protocol fields only if
layer 2 information needs to be added.

Layer 3 unicast nexthops is shared across ipv4 and ipv6. The layer 2
protocol field of the rewrite information is updated every time a packet hits
the nexthop, based on whether the packet is ipv4 or ipv6. There are a couple
of issues with this way of doing things. One is that it is not MP safe and
other is that the protocol field should be updated only if there is any rewrite
information to be added.

There will not be any rewrite information for packets egressing a tunnel interface,
and hence the layer 2 protocol information should not be added.

Closes-BUG: #1394461
Change-Id: If06c41127501ed1f5971228269cfbc8a533518c6

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.