Seastar
High performance C++ framework for concurrent servers
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
seastar::net::dhcp Class Reference

Classes

struct  lease
 

Public Types

typedef future< std::optional< lease > > result_type
 

Public Member Functions

 dhcp (ipv4 &)
 
 dhcp (dhcp &&) noexcept
 
result_type discover (const steady_clock_type::duration &=default_timeout)
 
result_type renew (const lease &, const steady_clock_type::duration &=default_timeout)
 
ip_packet_filterget_ipv4_filter ()
 

Static Public Attributes

static const steady_clock_type::duration default_timeout
 

Class Documentation

◆ seastar::net::dhcp::lease

struct seastar::net::dhcp::lease
Class Members
ipv4_address broadcast
ipv4_address dhcp_server
ipv4_address gateway
ipv4_address ip
seconds lease_time
uint16_t mtu
vector< ipv4_address > name_servers
ipv4_address netmask
seconds rebind_time
seconds renew_time

Member Function Documentation

◆ discover()

result_type seastar::net::dhcp::discover ( const steady_clock_type::duration &  = default_timeout)

Runs a discover/request sequence on the ipv4 "stack". During this execution the ipv4 will be "hijacked" more or less (through packet filter), and while not inoperable, most likely quite less efficient.

Please note that this does not modify the ipv4 object bound. It only makes queries and records replys for the related NIC. It is up to caller to use the returned information as he se fit.


The documentation for this class was generated from the following file: