[ovs-dev] [PATCH RFC v2 0/3] ovn: add SLAAC support for IPv6

Zong Kai LI zealokii at gmail.com
Tue Aug 2 02:15:56 UTC 2016


This serial patches try to support Stateless Address Autoconfiguration(SLAAC)
for IPv6, via Router Advertisement (RA) message responder.

User case:
  After this serial patches, a user can follow the following steps to let all
  VMs/VIFs on a logical switch has IPv6 prefix/CIDR, configure their IPv6
  addresses automatically:
   - set Logical_Switch.mtu column,
   - add lsp and lrp for Logical_Switch to make it attached onto a router, the
     lsp and lrp should have IPv6 prefix/CIDR in their addresses and networks
     columns,
   - set Logical_Router_Port.slaac column to true.
  Then, next time VM/VIF sends Router Solicitation (RS) message, a RA packet
  will be replied by ovn-controller. When VM/VIF receives that RA packet, it
  can configure its IPv6 address(es) and route(s) via that RA packet.

There will be logical flows in table ls_in_ra_rsp(28) to work as RA
responder, with:
 - match: ip6.dst == ff02::2 && nd_rs
   (nd_rs: icmp6.type == 133 && icmp6.code == 0 && ttl == 255)
 - action: ra{slaac(fdad:a0f9:a012::/64,...,1450,fa:16:3e:32:3c:e0);
           outport = inport; flags.loopback = 1; output;};
   (ra is a new action which stands for RA responder;
    slaac is a new action which has the following parameters to tell
    ovn-controller to compose RA packet with SLAAC flags, with these
    parameters:
     - IPv6 prefix(es): such as fdad:a0f9:a012::/64.
     - MTU: logical switch MTU, such as 1450.
     - LLA: router port link-layer address, such as fa:16:3e:32:3c:e0.
After a RA packet is composed, the left nested actions will make RA packet
transmitted back to the inport, where Router Solicitation (RS) packet comes.

For more details, will be described in each following patches.

Zong Kai LI (1):
  ovn: add SLAAC support for IPv6

 lib/packets.c | 168 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 lib/packets.h |  86 +++++++++++++++++++++++++-----
 2 files changed, 216 insertions(+), 38 deletions(-)

-- 
1.9.1




More information about the dev mailing list