44Ipv6AddrState ipv6GetAddrState(NetInterface *interface,
const Ipv6Addr *addr);
46error_t ipv6SetAddr(NetInterface *interface, uint_t index,
48 systime_t preferredLifetime, bool_t permanent);
50void ipv6AddAddr(NetInterface *interface,
const Ipv6Addr *addr,
51 uint32_t validLifetime, uint32_t preferredLifetime);
53void ipv6RemoveAddr(NetInterface *interface,
const Ipv6Addr *addr);
55void ipv6AddPrefix(NetInterface *interface,
const Ipv6Addr *prefix,
56 uint_t length, bool_t onLinkFlag, bool_t autonomousFlag,
57 uint32_t validLifetime, uint32_t preferredLifetime);
59void ipv6RemovePrefix(NetInterface *interface,
const Ipv6Addr *prefix,
62void ipv6AddDefaultRouter(NetInterface *interface,
const Ipv6Addr *addr,
63 uint16_t lifetime, uint8_t preference);
65void ipv6RemoveDefaultRouter(NetInterface *interface,
const Ipv6Addr *addr);
67void ipv6FlushAddrList(NetInterface *interface);
68void ipv6FlushPrefixList(NetInterface *interface);
69void ipv6FlushDefaultRouterList(NetInterface *interface);
70void ipv6FlushDnsServerList(NetInterface *interface);
72error_t ipv6CheckSourceAddr(NetInterface *interface,
const Ipv6Addr *ipAddr);
73error_t ipv6CheckDestAddr(NetInterface *interface,
const Ipv6Addr *ipAddr);
75error_t ipv6SelectSourceAddr(NetInterface **interface,
76 const Ipv6Addr *destAddr, Ipv6Addr *srcAddr);
78bool_t ipv6IsOnLink(NetInterface *interface,
const Ipv6Addr *ipAddr);
79bool_t ipv6IsAnycastAddr(NetInterface *interface,
const Ipv6Addr *ipAddr);
80bool_t ipv6IsTentativeAddr(NetInterface *interface,
const Ipv6Addr *ipAddr);
81bool_t ipv6IsLocalHostAddr(
const Ipv6Addr *ipAddr);
83bool_t ipv6CompPrefix(
const Ipv6Addr *ipAddr1,
const Ipv6Addr *ipAddr2,
86uint_t ipv6GetAddrScope(
const Ipv6Addr *ipAddr);
87uint_t ipv6GetMulticastAddrScope(
const Ipv6Addr *ipAddr);
89uint_t ipv6GetCommonPrefixLength(
const Ipv6Addr *ipAddr1,
90 const Ipv6Addr *ipAddr2);
92error_t ipv6ComputeSolicitedNodeAddr(
const Ipv6Addr *ipAddr,
93 Ipv6Addr *solicitedNodeAddr);
95error_t ipv6MapMulticastAddrToMac(
const Ipv6Addr *ipAddr, MacAddr *macAddr);
97void ipv6GenerateLinkLocalAddr(
const Eui64 *interfaceId, Ipv6Addr *ipAddr);
99void ipv6UpdateInStats(NetInterface *interface,
const Ipv6Addr *destIpAddr,
102void ipv6UpdateOutStats(NetInterface *interface,
const Ipv6Addr *destIpAddr,
error_t
Error codes.
Definition error.h:43
IPv6 (Internet Protocol Version 6)
Ipv6AddrState
IPv6 address state.
Definition ipv6.h:165
uint32_t systime_t
System time.
Definition os_port_none.h:90