Module: Pio::Dhcp::DhcpTlvOptions

Includes:
CommonOptions
Included in:
BootReplyOptions, BootRequestOptions
Defined in:
lib/pio/dhcp/dhcp_tlv_options.rb

Overview

DHCP TLV Methods.

Constant Summary

Constants included from CommonOptions

CommonOptions::BOOTPC, CommonOptions::BOOTPS, CommonOptions::BROADCAST_IP_ADDRESS, CommonOptions::BROADCAST_MAC_ADDRESS, CommonOptions::QUAD_ZERO_IP_ADDRESS

Instance Method Summary collapse

Methods included from CommonOptions

#destination_ip_address, #destination_mac, #dhcp_data, #ip_address_lease_time, #rebinding_time_value, #renewal_time_value, #requested_ip_address, #server_identifier, #source_ip_address, #source_mac, #subnet_mask, #transaction_id, #type

Instance Method Details

#client_identifier_hashObject



19
20
21
22
23
24
25
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 19

def client_identifier_hash
  {
    tlv_type: Dhcp::CLIENT_IDENTIFIER_TLV,
    tlv_info_length: 7,
    tlv_value: source_mac
  }
end

#dhcp_server_identifier_hashObject



35
36
37
38
39
40
41
42
43
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 35

def dhcp_server_identifier_hash
  if server_identifier
    {
      tlv_type: Dhcp::SERVER_IDENTIFIER_TLV,
      tlv_info_length: 4,
      tlv_value: server_identifier
    }
  end
end

#ip_address_lease_time_hashObject



73
74
75
76
77
78
79
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 73

def ip_address_lease_time_hash
  {
    tlv_type: Dhcp::IP_ADDRESS_LEASE_TIME_TLV,
    tlv_info_length: 4,
    tlv_value: ip_address_lease_time
  }
end

#message_type_hashObject



11
12
13
14
15
16
17
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 11

def message_type_hash
  {
    tlv_type: Dhcp::MESSAGE_TYPE_TLV,
    tlv_info_length: 1,
    tlv_value: type
  }
end

#parameters_list_hashObject



45
46
47
48
49
50
51
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 45

def parameters_list_hash
  {
    tlv_type: Dhcp::PARAMETERS_LIST_TLV,
    tlv_info_length: Dhcp::PARAMETER_REQUEST_LIST.length,
    tlv_value: Dhcp::PARAMETER_REQUEST_LIST
  }
end

#rebinding_time_value_hashObject



63
64
65
66
67
68
69
70
71
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 63

def rebinding_time_value_hash
  if rebinding_time_value
    {
      tlv_type: Dhcp::REBINDING_TIME_VALUE_TLV,
      tlv_info_length: 4,
      tlv_value: rebinding_time_value
    }
  end
end

#renewal_time_value_hashObject



53
54
55
56
57
58
59
60
61
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 53

def renewal_time_value_hash
  if renewal_time_value
    {
      tlv_type: Dhcp::RENEWAL_TIME_VALUE_TLV,
      tlv_info_length: 4,
      tlv_value: renewal_time_value
    }
  end
end

#requested_ip_address_hashObject



27
28
29
30
31
32
33
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 27

def requested_ip_address_hash
  {
    tlv_type: Dhcp::REQUESTED_IP_ADDRESS_TLV,
    tlv_info_length: 4,
    tlv_value: requested_ip_address
  }
end

#subnet_mask_hashObject



81
82
83
84
85
86
87
88
89
# File 'lib/pio/dhcp/dhcp_tlv_options.rb', line 81

def subnet_mask_hash
  if subnet_mask
    {
      tlv_type: Dhcp::SUBNET_MASK_TLV,
      tlv_info_length: 4,
      tlv_value: subnet_mask
    }
  end
end