|
iPXE
|
An IPv4 address/routing table entry. More...
#include <ip.h>
Data Fields | |
| struct list_head | list |
| List of miniroutes. More... | |
| struct net_device * | netdev |
| Network device. More... | |
| struct in_addr | address |
| IPv4 address. More... | |
| struct in_addr | network |
| Subnet network address. More... | |
| struct in_addr | netmask |
| Subnet mask. More... | |
| struct in_addr | gateway |
| Gateway address, or zero. More... | |
| struct in_addr | hostmask |
| Host mask. More... | |
An IPv4 address/routing table entry.
Routing table entries are maintained in order of specificity. For a given destination address, the first matching table entry will be used as the egress route.
| struct list_head ipv4_miniroute::list |
List of miniroutes.
Definition at line 65 of file ip.h.
Referenced by ipv4_add_miniroute(), ipv4_del_miniroute(), ipv4_del_miniroutes(), ipv4_has_addr(), ipv4_has_any_addr(), and ipv4_route().
| struct net_device* ipv4_miniroute::netdev |
Network device.
When this routing table entry is matched, this is the egress network device to be used.
Definition at line 72 of file ip.h.
Referenced by ipv4_add_miniroute(), ipv4_del_miniroute(), ipv4_has_addr(), ipv4_has_any_addr(), ipv4_netdev(), ipv4_route(), ipv4_route_okx(), ipv4_tx(), and route_ipv4_print().
| struct in_addr ipv4_miniroute::address |
IPv4 address.
When this routing table entry is matched, this is the source address to be used.
The presence of this routing table entry also indicates that this address is a valid local destination address for the matching network device.
Definition at line 83 of file ip.h.
Referenced by ipv4_add_miniroute(), ipv4_del_miniroute(), ipv4_has_addr(), ipv4_route_okx(), ipv4_tx(), and route_ipv4_print().
| struct in_addr ipv4_miniroute::network |
Subnet network address.
A subnet is a range of addresses defined by a network address and subnet mask. A destination address with all of the subnet mask bits in common with the network address is within the subnet and therefore matches this routing table entry.
Definition at line 92 of file ip.h.
Referenced by ipv4_add_miniroute(), ipv4_del_miniroute(), ipv4_route(), and route_ipv4_print().
| struct in_addr ipv4_miniroute::netmask |
Subnet mask.
An address with all of these bits in common with the network address matches this routing table entry.
Definition at line 98 of file ip.h.
Referenced by ipv4_add_miniroute(), ipv4_del_miniroute(), ipv4_route(), and route_ipv4_print().
| struct in_addr ipv4_miniroute::gateway |
Gateway address, or zero.
When this routing table entry is matched and this address is non-zero, it will be used as the next-hop address.
When this routing table entry is matched and this address is zero, the subnet is local (on-link) and the next-hop address will be the original destination address.
Definition at line 108 of file ip.h.
Referenced by ipv4_add_miniroute(), ipv4_del_miniroute(), ipv4_route(), and route_ipv4_print().
| struct in_addr ipv4_miniroute::hostmask |
Host mask.
An address in a local subnet with all of these bits set to zero represents the network address, and an address in a local subnet with all of these bits set to one represents the local directed broadcast address. All other addresses in a local subnet are valid host addresses.
For most local subnets, this is the inverse of the subnet mask. In a small subnet (/31 or /32) there is no network address or directed broadcast address, and all addresses in the subnet are valid host addresses.
When this routing table entry is matched and the subnet is local, a next-hop address with all of these bits set to one will be treated as a local broadcast address. All other next-hop addresses will be treated as unicast addresses.
When this routing table entry is matched and the subnet is non-local, the next-hop address is always a unicast address. The host mask for non-local subnets is therefore set to INADDR_NONE to allow the same logic to be used as for local subnets.
Definition at line 133 of file ip.h.
Referenced by ipv4_add_miniroute(), ipv4_route_okx(), and ipv4_tx().
1.8.15