mbox series

[ovs-dev,v6,ovn,0/2] Add IPv6 Prefix delegation (RFC3633)

Message ID cover.1578999694.git.lorenzo.bianconi@redhat.com
Headers show
Series Add IPv6 Prefix delegation (RFC3633) | expand

Message

Lorenzo Bianconi Jan. 14, 2020, 11:07 a.m. UTC
Introduce IPv6 Prefix delegation state machine according to RFC 3633
https://tools.ietf.org/html/rfc3633.
Add handle_dhcpv6_reply controller action to parse advertise/reply from
IPv6 delegation server.
Introduce logical flows in ovn router pipeline in order to parse dhcpv6
advertise/reply from IPv6 prefix delegation router.
This series relies on the following OVS commit:
https://github.com/openvswitch/ovs/commit/cec89046f72cb044b068ba6a4e30dbcc4292c4c1

Changes since v5:
- introduce ipv6_prefix column in logical_router_port table to save ipv6 prefix
  received from delegation router

Changes since v4:
- improve unit test support
- fix ovn-controller crash
- confifure prefixes received from delegation router in RA
- allow the requesting router to rely on lla address for PD protocol

Changes since v3:
- cosmetics
- add a provider bridge in the unit-test deployment and add a localnet
  port to the deployment to access the underlay network
- request IPv6 prefix even for bar router logical port in the unit-test
  deployment

Changes since v2:
- add unitest support in system-ovn.at

Changes since v1:
- rebase on top of ovn master branch
- request an IPv6 prefix for each 'downstream' logical router port marked with
  prefix set to true
- add missing documentation
- rename dhcp6_server_pkt in handle_dhcpv6_reply

Lorenzo Bianconi (2):
  controller: add ipv6 prefix delegation state machine
  northd: add logical flows for dhcpv6 pfd parsing

 controller/ovn-controller.c |   1 +
 controller/pinctrl.c        | 612 +++++++++++++++++++++++++++++++++++-
 controller/pinctrl.h        |   2 +
 include/ovn/actions.h       |   8 +-
 lib/actions.c               |  22 ++
 lib/ovn-l7.h                |  19 ++
 northd/ovn-northd.c         |  99 +++++-
 ovn-nb.ovsschema            |   5 +-
 ovn-nb.xml                  |  22 ++
 ovn-sb.xml                  |   8 +
 tests/atlocal.in            |   5 +-
 tests/ovn.at                |   6 +
 tests/system-ovn.at         | 127 ++++++++
 utilities/ovn-trace.c       |   3 +
 14 files changed, 928 insertions(+), 11 deletions(-)