This is model designed to take care of implementation:
1) DHCP Client & Server are Keysight and Relay Agent as DUT: In this the construct dhcp_v4interface and dhcp_v4interface are exposed under an Ethernet Interface to configure DHCP Client parameters.
2) DHCP Client Behind the Relay Agent and are Keysight and DHCP Server as Keysight/DUT:
In this case DHCP client sits beside the Relay Agent that runs on top of connection Interfaces.
Hence new a construct introduced, Chained Ethernets which parallel to connected Ethernets under the Device. This chained Ethernet can be linked to another chained Ethernet or a connected Ethernet interface.
dhcp_v4interface and dhcp_v4interface are exposed under a Chained Ethernet interface to configure DHCP Client parameters.
3) BGP peer can be configured on top of DHCP interface: BGP peer is to refer ipv4_name or ipv6_name for IPv4/IPv6 connected or loopback interfaces. Now BGP peer can also refer to dhcp_v4interface or dhcp_v6interface interfaces.
4) For the Traffic use case, we have auto learning of the destination learning. Now the model is extended to auto learning of source IP address by exposing AutoDhcp() . Also TXRx name can be referred to dhcp_v4interface/dhcp_v6interface.
`
// Case-1: DHCP Client & Server are Keysight and Relay Agent as DUT.
// DHCPV4-Client(x.x.x.x)<-------> (1.1.1.1)RelayAgent(DUT)(2.2.2.1) <------>(2.2.2.2) DHCPV4-Server(Pool: 100.1.1.1)
// DHCP Client is configured on connected interface.
// Case-2: DHCP Client Behind the Relay Agent and are Keysight and DHCP Server as Keysight/DUT.
// DHCPV4-Client(x.x.x.x)<------->(100.1.1.1)RelayAgent(DUT)(2.2.2.1) <------>(2.2.2.2) DHCPV4-Server(Pool: 100.1.1.1)
// DHCP Client is configured on unconnected connected interface.
https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/dhcp_support2/artifacts/openapi.yaml&nocors#tag/Configuration/operation/set_config
This is model designed to take care of implementation: 1) DHCP Client & Server are Keysight and Relay Agent as DUT: In this the construct dhcp_v4interface and dhcp_v4interface are exposed under an Ethernet Interface to configure DHCP Client parameters. 2) DHCP Client Behind the Relay Agent and are Keysight and DHCP Server as Keysight/DUT: In this case DHCP client sits beside the Relay Agent that runs on top of connection Interfaces. Hence new a construct introduced, Chained Ethernets which parallel to connected Ethernets under the Device. This chained Ethernet can be linked to another chained Ethernet or a connected Ethernet interface. dhcp_v4interface and dhcp_v4interface are exposed under a Chained Ethernet interface to configure DHCP Client parameters. 3) BGP peer can be configured on top of DHCP interface: BGP peer is to refer ipv4_name or ipv6_name for IPv4/IPv6 connected or loopback interfaces. Now BGP peer can also refer to dhcp_v4interface or dhcp_v6interface interfaces. 4) For the Traffic use case, we have auto learning of the destination learning. Now the model is extended to auto learning of source IP address by exposing AutoDhcp() . Also TXRx name can be referred to dhcp_v4interface/dhcp_v6interface.
`
// Case-1: DHCP Client & Server are Keysight and Relay Agent as DUT. // DHCPV4-Client(x.x.x.x)<-------> (1.1.1.1)RelayAgent(DUT)(2.2.2.1) <------>(2.2.2.2) DHCPV4-Server(Pool: 100.1.1.1) // DHCP Client is configured on connected interface.
// Case-2: DHCP Client Behind the Relay Agent and are Keysight and DHCP Server as Keysight/DUT. // DHCPV4-Client(x.x.x.x)<------->(100.1.1.1)RelayAgent(DUT)(2.2.2.1) <------>(2.2.2.2) DHCPV4-Server(Pool: 100.1.1.1) // DHCP Client is configured on unconnected connected interface.
//Case-3: BGP over DHCP Client on Port 1 & DHCP Server and BGP peer (over loopback)on Port2. config := gosnappi.NewConfig()
`