[ovs-dev] Investigating ICMPv6 NDP packet rewrite.

Shaughnessy, David david.shaughnessy at intel.com
Wed Aug 30 10:01:09 UTC 2017


Hello.
I'm currently trying to use Open vSwitch and OpenFlow to imitate the behavior of a router in an Open vSwitch bridge.
However I've run into some problems when trying to route IPV6 traffic.
I'm trying to use OpenFlow to convert NDP requests into responses to simulate a router interface.
It seems some ICMPv6 fields can't be modified with OpenFlow and this is causing issues when trying to generate Neighbor Discovery Advertisements.
The specific field seems to be in the "Reserved" header field which becomes available in Neighbor discovery advertisements.
A Neighbor discovery solicitation packet header[1].
A Neighbor discovery response packet header[2].
Without these bits being set the NDP response is dropped.
I'm currently working on a proof of concept for the RFE "L3-agent agent-mode dvr bridge"[3] which can be found here[4].
This RFE would involve introducing an exclusive Open vSwitch agent mode for the L3-agent in OpenStack Neutron.
I was wondering does anyone know if I've made a mistake or do I need to be able to modify these bits.
Regards.
David.

Wireshark dump for NDP advertisement.

Internet Control Message Protocol v6
Type: Neighbor Advertisement (136)
Code: 0
Checksum: 0x9abb [correct]
Checksum Status: Good
Flags: 0xa0000000
1... .... .... .... .... .... .... .... = Router: Set
.0.. .... .... .... .... .... .... .... = Solicited: Not set
..1. .... .... .... .... .... .... .... = Override: Set
...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0
Target Address: fe80::c000:54ff:fef5:0
ICMPv6 Option (Target link-layer address : c2:00:54:f5:00:00)
Type: Target link-layer address (2)
Length: 1 (8 bytes)
Link-layer address: c2:00:54:f5:00:00 (c2:00:54:f5:00:00)



[1] http://flylib.com/books/2/296/1/html/2/images/02fig11.jpg
[2] http://flylib.com/books/2/296/1/html/2/images/02fig12.jpg
[3] https://bugs.launchpad.net/neutron/+bug/1705536
[4] https://review.openstack.org/#/c/472289

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.


More information about the dev mailing list