dhcpkit.ipv6.server.extensions.relay_echo_request module

Implementation of Echo Request option handling as specified in RFC 4994.

class dhcpkit.ipv6.server.extensions.relay_echo_request.RelayEchoRequestOptionHandler[source]

Bases: dhcpkit.ipv6.server.handlers.RelayHandler

When a server creates a Relay-Reply, it SHOULD perform ERO processing after processing the ORO and other options processing. For each option in the ERO:

  1. If the option is already in the Relay-Reply, the server MUST ignore that option and continue to process any remaining options in the ERO.
  2. If the option was not in the received Relay-Forward, the server MUST ignore that option and continue to process any remaining options in the ERO.
  3. Otherwise, the server MUST copy the option, verbatim, from the received Relay-Forward to the Relay-Reply, even if the server does not otherwise recognize that option.
handle_relay(bundle: dhcpkit.ipv6.server.transaction_bundle.TransactionBundle, relay_message_in: dhcpkit.ipv6.messages.RelayForwardMessage, relay_message_out: dhcpkit.ipv6.messages.RelayReplyMessage)[source]

Handle the options for each relay message pair.

Parameters:
  • bundle – The transaction bundle
  • relay_message_in – The incoming relay message
  • relay_message_out – Thr outgoing relay message
dhcpkit.ipv6.server.extensions.relay_echo_request.create_cleanup_handlers() → List[source]

Create handlers to clean up stuff in the transaction bundle

Returns:Handlers to add to the handler chain