<div dir="ltr">Hi! I need some help to understand and configure my network node to provide network access using a dual stack configuration. I've a scenario with one controller, one network node and a lot of compute nodes. The version is Mitaka on Ubuntu 16.04 LTS, Kernel 4.4.0-36.<br><br>The IPv4 is working fine. Instances can get IPv4 inside tenant networks, I can configure floating IPs, access external hosts etc. <br><br>The IPv6 has some features working, but I still didn't got the traffic pass between internal and the external networks.<br><br>I'm using prefix delegation with dibbler as described here:<br><br><a href="http://docs.openstack.org/mitaka/networking-guide/config-ipv6.html">http://docs.openstack.org/mitaka/networking-guide/config-ipv6.html</a><br><br>I can create IPv6 tenant subnets, they can get a prefix from dibbler and instances on this subnets can configure IPv6 normally. <br><br>I've a default security group with rules passing any IPv4 and IPv6 traffic and any ICMP. <br><br>The problem is that the packages from and to instances don't pass through virtual router. The virtual router has one external interface named qg- (connected to br-int -> br-ex) and one internal interface named qr- connected to tenant network (br-int -> int-br-vlan). When testing connectivity I can see packages (with tcpdump) on my external router/firewall and on qg- interface. For example, when I try to ping my external router/firewall from an instance, echo requests pass to the external network (through the virtual router) but echo reply die on virtual router (last seen on qg-). <br><br>## echo request:<br><br>Instance A<br>|<br>|<br>v<br>br-int<br>|<br>|<br>v <br>qr- interface<br> VIRTUAL ROUTER <br>qg- interface<br>|<br>|<br>v<br>br-int<br>|<br>|<br>v<br>br-ex<br>|<br>|<br>v<br>Router/Firewall (I can see here with tcpdump)<br><br><br>## echo reply:<br><br>Instance A<br>x<br>x<br>x <br>qr- interface (I CAN'T SEE HERE, LOST)<br> VIRTUAL ROUTER <br>qg- interface (I can see here with tcpdump)<br>^<br>|<br>|<br>br-int (ovs bridge, can't do tcpdump, but ok)<br>^<br>|<br>|<br>br-ex (I can see here with tcpdump)<br>^<br>|<br>|<br>Router/Firewall<br><br>Question 1) Where can I start to debug this problem? <br><br>I'm thinking that can be something with ipv6 packet forwarding (configurable with sysctl). Using 'ip6tables -v' I can't see droppings. <br><br>Chain neutron-openvswi-sg-fallback (0 references)<br> pkts bytes target prot opt in out source destination <br> 0 0 DROP all * * ::/0 ::/0 /* Default drop rule for unmatched traffic. */<br><br>Another thing I would like to understand is about how I should configure my router/firewall to send IPv6 packets to Openstack network node. For example, if I have the network 2001:DB8::/52 to use on Openstack. Each project will get a 2001:DB8::/64 range from prefix delegation. When one project get its prefix, the virtual router knows how to send traffic to external world because my router/firewall sends RA. But, on my router/firewall I need to configure a route to 2001:DB8::/52. To do this, I need to inform one next-hop. I'm using de LLA (fe80::...) of br-ex as next-hop. So, all traffic destinated to any network inside 2001:DB8::/52 will be send to br-ex (that is on network node). This configuration seems to work because packets arrive on virtual router as described above. <br><br>Question 2) Is this the right way? <br><br>Thanks for any help!<br><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">- JLC</div></div></div>
</div>