[NEUTRON-10] The OpenDaylight Neutron Service doesn't support IPV6 Created: 31/Oct/14  Updated: 19/Oct/17  Resolved: 14/Apr/15

Status: Resolved
Project: neutron
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Kyle Mestery Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 2290

 Description   

The OpenDaylight Neutron service doesn't support IPV6 subnets.

First, the ODL MechanismDriver is ignoring 400 errors. To get past that, apply this [1] diff to the driver. Once you do that, creating a subnet with IPV6 fails in ODL. The steps to reproduce are:

neutron net-create v6net
neutron subnet-create --name v6subnet --gateway 2003::1 --allocation-pool start=2003::2,end=2003::ffff:ffff:ffff:fffe --ip-version 6 v6net 2003::/64

Looking at a dump of the return from ODL, I see this:

0x0000: 4500 00ea 3d1b 4000 4006 0b8e c0a8 380a E...=.@.@.....8.
0x0010: c0a8 380a 1f90 be66 ec11 f2b3 9148 3190 ..8....f.....H1.
0x0020: 8018 0164 f241 0000 0101 080a 04ed cfaf ...d.A..........
0x0030: 04ed cfa9 4854 5450 2f31 2e31 2034 3030 ....HTTP/1.1.400
0x0040: 2042 6164 2052 6571 7565 7374 0d0a 5365 .Bad.Request..Se
0x0050: 7276 6572 3a20 4170 6163 6865 2d43 6f79 rver:.Apache-Coy
0x0060: 6f74 652f 312e 310d 0a43 6f6e 7465 6e74 ote/1.1..Content
0x0070: 2d54 7970 653a 2074 6578 742f 706c 6169 -Type:.text/plai
0x0080: 6e0d 0a54 7261 6e73 6665 722d 456e 636f n..Transfer-Enco
0x0090: 6469 6e67 3a20 6368 756e 6b65 640d 0a44 ding:.chunked..D
0x00a0: 6174 653a 2046 7269 2c20 3331 204f 6374 ate:.Fri,.31.Oct
0x00b0: 2032 3031 3420 3139 3a34 393a 3236 2047 .2014.19:49:26.G
0x00c0: 4d54 0d0a 436f 6e6e 6563 7469 6f6e 3a20 MT..Connection:.
0x00d0: 636c 6f73 650d 0a0d 0a63 0d0a 696e 7661 close....c..inva
0x00e0: 696c 6420 4349 4452 0d0a ild.CIDR..

Rougly translated to "Invalid CIDR."

[1] https://review.openstack.org/#/c/121407/



 Comments   
Comment by Ryan Moats [ 31/Oct/14 ]

Analysis: the root problem is with isValidCIDR() in NeutronSubnet.java.

This method leverages the org.apache.commons.net.util.SubnetUtils package, which, according to https://issues.apache.org/jira/browse/NET-405 does not support IPv6 cidr blocks.

The fix will require either replacing that package with one that can support both IPv4 and IPv6 CIDR notation or trusting the client to be using correct CIDR notation.

Comment by Ryan Moats [ 31/Oct/14 ]

https://git.opendaylight.org/gerrit/#/c/12430/

Comment by Kyle Mestery [ 03/Nov/14 ]

This is 100% CRITICAL to get into the first stable Helium release. Without this, ODL doesn't work with IPV6 CIDRs, and thus won't pass 2 OpenStack Tempest tests.

Comment by Ryan Moats [ 03/Nov/14 ]

https://git.opendaylight.org/gerrit/#/c/12461/ for stable/helium branch

Comment by Ryan Moats [ 05/Nov/14 ]

2290 is still blocking in RC1 due to issues with other methods.

https://git.opendaylight.org/gerrit/12516

Comment by Ryan Moats [ 05/Nov/14 ]

previous patch abandoned due to rebase, new patch is

https://git.opendaylight.org/gerrit/#/c/12530/

Comment by Ryan Moats [ 17/Feb/15 ]

Moving from current project to neutron

Comment by Flavio Fernandes [ 25/Mar/15 ]

gerrit https://git.opendaylight.org/gerrit/#/c/17122/

Generated at Wed Feb 07 20:25:18 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.