dhcpv6_relay_misc.c
Go to the documentation of this file.
221 TRACE_INFO("\r\nDHCPv6 message received on client-facing interface %s (%" PRIuSIZE " bytes)...\r\n",
311 TRACE_INFO("Forwarding DHCPv6 message on network-facing interface %s (%" PRIuSIZE " bytes)...\r\n",
357 TRACE_INFO("\r\nDHCPv6 message received on network-facing interface %s (%" PRIuSIZE " bytes)...\r\n",
416 TRACE_INFO("Forwarding DHCPv6 message on client-facing interface %s (%" PRIuSIZE " bytes)...\r\n",
error_t socketBind(Socket *socket, const IpAddr *localIpAddr, uint16_t localPort)
Associate a local address with a socket.
Definition: socket.c:1344
error_t dhcpv6ForwardClientMessage(Dhcpv6RelayContext *context, uint_t index)
Forward client message.
Definition: dhcpv6_relay_misc.c:193
error_t dhcpv6ForwardRelayReplyMessage(Dhcpv6RelayContext *context)
Forward Relay-Reply message.
Definition: dhcpv6_relay_misc.c:333
DHCPv6 relay agent (Dynamic Host Configuration Protocol for IPv6)
error_t dhcpv6RelayOpenServerSocket(Dhcpv6RelayContext *context)
Open server-facing socket.
Definition: dhcpv6_relay_misc.c:117
error_t socketJoinMulticastGroup(Socket *socket, const IpAddr *groupAddr)
Join the specified host group.
Definition: socket.c:447
const Ipv6Addr DHCPV6_ALL_RELAY_AGENTS_AND_SERVERS_ADDR
Definition: dhcpv6_common.c:54
Dhcpv6Option * dhcpv6GetOption(const uint8_t *options, size_t optionsLength, uint16_t optionCode)
Search a DHCPv6 message for a given option.
Definition: dhcpv6_common.c:229
#define DHCPV6_RELAY_FORWARDING_OVERHEAD
Definition: dhcpv6_relay.h:65
Helper functions for DHCPv6 relay agent.
IPv6 multicast filtering.
NetInterface * clientInterfaces[DHCPV6_RELAY_MAX_CLIENT_INTERFACES]
Client-facing interfaces.
Definition: dhcpv6_relay.h:97
Socket * clientSockets[DHCPV6_RELAY_MAX_CLIENT_INTERFACES]
Sockets that handle client-facing interfaces.
Definition: dhcpv6_relay.h:100
error_t socketReceiveFrom(Socket *socket, IpAddr *srcIpAddr, uint16_t *srcPort, void *data, size_t size, size_t *received, uint_t flags)
Receive a datagram from a connectionless socket.
Definition: socket.c:1746
error_t socketSetTtl(Socket *socket, uint8_t ttl)
Set TTL value for unicast datagrams.
Definition: socket.c:194
error_t socketConnect(Socket *socket, const IpAddr *remoteIpAddr, uint16_t remotePort)
Establish a connection to a specified socket.
Definition: socket.c:1377
error_t dhcpv6RelayOpenClientSocket(Dhcpv6RelayContext *context, uint_t index)
Open client-facing socket.
Definition: dhcpv6_relay_misc.c:60
uint8_t buffer[DHCPV6_MAX_MSG_SIZE]
Scratch buffer to store DHCPv6 messages.
Definition: dhcpv6_relay.h:107
error_t dhcpv6DumpMessage(const void *message, size_t length)
Dump DHCPv6 message for debugging purpose.
Definition: dhcpv6_debug.c:123
Socket * socketOpenEx(NetContext *context, uint_t type, uint_t protocol)
Create a socket.
Definition: socket.c:146
Dhcpv6Option * dhcpv6AddOption(void *message, size_t *messageLen, uint16_t optionCode, const void *optionValue, size_t optionLen)
Add an option to a DHCPv6 message.
Definition: dhcpv6_common.c:114
error_t socketSendTo(Socket *socket, const IpAddr *destIpAddr, uint16_t destPort, const void *data, size_t length, size_t *written, uint_t flags)
Send a datagram to a specific destination.
Definition: socket.c:1535
TCP/IP stack core.
Ipv6Addr serverIpAddr
Address to be used when relaying messages to the server.
Definition: dhcpv6_relay.h:98
Debugging facilities.
Data logging functions for debugging purpose (DHCPv6)
