public icon indicating copy to clipboard operation
public copied to clipboard

Relay Agent helper: add support for source, hostname, and network instance

Open rachidtt opened this issue 1 year ago • 5 comments

This is a follow-up and update to #964 #951 . More context can be found there

Change Scope

  • Replace “helper-address” leaf-list with keyed list
  • Update address type to be oc:inet:host to support ip and hostname configuration
  • Add support for source-interface or source-address configuration
  • Add option to specify network-instance
  • This change is backwards compatible

Platform Implementations

New tree (relevant changes):

  +--rw relay-agent
     +--rw dhcp
     |  +--rw interfaces
     |     +--rw interface* [id]
     |        +--rw id                          -> ../config/id
     |        +--rw config
     |        |  +--rw id?                 oc-if:interface-id
     |        |  +--rw enable?             boolean
     |        |  x--rw helper-address*     inet:ip-address
     |        |  +--rw helper-addresses
     |        |     +--rw helper-address* [address]
     |        |        +--rw address    -> ../config/address
     |        |        +--rw config
     |        |        |  +--rw address?            oc-inet:host
     |        |        |  +--rw local-address?      union
     |        |        |  +--rw network-instance?   oc-ni:network-instance-ref
     |        |        +--ro state
     |        |           +--ro address?            oc-inet:host
     |        |           +--ro local-address?      union
     |        |           +--ro network-instance?   oc-ni:network-instance-ref
     |        +--ro state
     |        |  +--ro id?                 oc-if:interface-id
     |        |  +--ro enable?             boolean
     |        |  x--ro helper-address*     inet:ip-address
     |        |  +--ro helper-addresses
     |        |  |  +--ro helper-address* [address]
     |        |  |     +--ro address    -> ../config/address
     |        |  |     +--ro config
     |        |  |     |  +--ro address?            oc-inet:host
     |        |  |     |  +--ro local-address?      union
     |        |  |     |  +--ro network-instance?   oc-ni:network-instance-ref
     |        |  |     +--ro state
     |        |  |        +--ro address?            oc-inet:host
     |        |  |        +--ro local-address?      union
     |        |  |        +--ro network-instance?   oc-ni:network-instance-ref
     +--rw dhcpv6
        +--rw interfaces
           +--rw interface* [id]
              +--rw id               -> ../config/id
              +--rw config
              |  +--rw id?                 oc-if:interface-id
              |  +--rw enable?             boolean
              |  x--rw helper-address*     inet:ipv6-address
              |  +--rw helper-addresses
              |     +--rw helper-address* [address]
              |        +--rw address    -> ../config/address
              |        +--rw config
              |        |  +--rw address?            oc-inet:host
              |        |  +--rw local-address?      union
              |        |  +--rw network-instance?   oc-ni:network-instance-ref
              |        +--ro state
              |           +--ro address?            oc-inet:host
              |           +--ro local-address?      union
              |           +--ro network-instance?   oc-ni:network-instance-ref
              +--ro state
              |  +--ro id?                 oc-if:interface-id
              |  +--ro enable?             boolean
              |  x--ro helper-address*     inet:ipv6-address
              |  +--ro helper-addresses
              |  |  +--ro helper-address* [address]
              |  |     +--ro address    -> ../config/address
              |  |     +--ro config
              |  |     |  +--ro address?            oc-inet:host
              |  |     |  +--ro local-address?      union
              |  |     |  +--ro network-instance?   oc-ni:network-instance-ref
              |  |     +--ro state
              |  |        +--ro address?            oc-inet:host
              |  |        +--ro local-address?      union
              |  |        +--ro network-instance?   oc-ni:network-instance-ref```


rachidtt avatar Sep 25 '24 15:09 rachidtt

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

google-cla[bot] avatar Sep 25 '24 15:09 google-cla[bot]

/gcbrun

dplore avatar Nov 26 '24 03:11 dplore

No major YANG version changes in commit 58e77b5538591eb08e4afd7fd333d7c6406af521

OpenConfigBot avatar Nov 26 '24 03:11 OpenConfigBot

/gcbrun

dplore avatar Mar 24 '25 20:03 dplore

/gcbrun

dplore avatar Apr 16 '25 21:04 dplore