|
corosync
3.1.6
|
#include <config.h>#include <sys/ioctl.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <net/if.h>#include <string.h>#include <stdio.h>#include <errno.h>#include <assert.h>#include <stdlib.h>#include <unistd.h>#include <ifaddrs.h>#include <corosync/totem/totemip.h>#include <corosync/logsys.h>#include <corosync/swab.h>
Go to the source code of this file.
Macros | |
| #define | LOCALHOST_IPV4 "127.0.0.1" |
| #define | LOCALHOST_IPV6 "::1" |
| #define | NETLINK_BUFSIZE 16384 |
| #define | TOTEMIP_UDP_HEADER_SIZE 8 |
| #define | TOTEMIP_IPV4_HEADER_SIZE 20 |
| #define | TOTEMIP_IPV6_HEADER_SIZE 40 |
Functions | |
| int | totemip_equal (const struct totem_ip_address *addr1, const struct totem_ip_address *addr2) |
| int | totemip_sa_equal (const struct totem_ip_address *totem_ip, const struct sockaddr *sa) |
| void | totemip_copy (struct totem_ip_address *addr1, const struct totem_ip_address *addr2) |
| int32_t | totemip_is_mcast (struct totem_ip_address *ip_addr) |
| int | totemip_compare (const void *a, const void *b) |
| int | totemip_localhost (int family, struct totem_ip_address *localhost) |
| int | totemip_localhost_check (const struct totem_ip_address *addr) |
| const char * | totemip_sa_print (const struct sockaddr *sa) |
| const char * | totemip_print (const struct totem_ip_address *addr) |
| int | totemip_totemip_to_sockaddr_convert (struct totem_ip_address *ip_addr, uint16_t port, struct sockaddr_storage *saddr, int *addrlen) |
| int | totemip_parse (struct totem_ip_address *totemip, const char *addr, enum totem_ip_version_enum ip_version) |
| int | totemip_sockaddr_to_totemip_convert (const struct sockaddr_storage *saddr, struct totem_ip_address *ip_addr) |
| int | totemip_getifaddrs (struct qb_list_head *addrs) |
| void | totemip_freeifaddrs (struct qb_list_head *addrs) |
| int | totemip_iface_check (struct totem_ip_address *bindnet, struct totem_ip_address *boundto, int *interface_up, int *interface_num, int mask_high_bit) |
| size_t | totemip_udpip_header_size (int family) |
| int totemip_compare | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 150 of file totemip.c.
References totem_ip_address::addr, family, and totem_ip_address::family.
Referenced by totemudp_member_remove(), and totemudpu_member_remove().
| void totemip_copy | ( | struct totem_ip_address * | addr1, |
| const struct totem_ip_address * | addr2 | ||
| ) |
Definition at line 123 of file totemip.c.
Referenced by main_iface_change_fn(), totemip_iface_check(), totemknet_iface_set(), and totemsrp_iface_set().
| int totemip_equal | ( | const struct totem_ip_address * | addr1, |
| const struct totem_ip_address * | addr2 | ||
| ) |
Definition at line 72 of file totemip.c.
References totem_ip_address::addr, and totem_ip_address::family.
Referenced by totemip_iface_check().
| void totemip_freeifaddrs | ( | struct qb_list_head * | addrs | ) |
Definition at line 514 of file totemip.c.
References totem_ip_if_address::list, and totem_ip_if_address::name.
Referenced by totemip_getifaddrs(), and totemip_iface_check().
| int totemip_getifaddrs | ( | struct qb_list_head * | addrs | ) |
Definition at line 446 of file totemip.c.
References totem_ip_if_address::interface_num, totem_ip_if_address::interface_up, totem_ip_if_address::ip_addr, totem_ip_if_address::list, totem_ip_if_address::mask_addr, totem_ip_if_address::name, totemip_freeifaddrs(), and totemip_sockaddr_to_totemip_convert().
Referenced by totemip_iface_check().
| int totemip_iface_check | ( | struct totem_ip_address * | bindnet, |
| struct totem_ip_address * | boundto, | ||
| int * | interface_up, | ||
| int * | interface_num, | ||
| int | mask_high_bit | ||
| ) |
Definition at line 529 of file totemip.c.
References totem_ip_address::addr, totem_ip_address::family, totem_ip_if_address::interface_num, totem_ip_if_address::interface_up, totem_ip_if_address::ip_addr, totem_ip_if_address::mask_addr, totem_ip_address::nodeid, totemip_copy(), totemip_equal(), totemip_freeifaddrs(), and totemip_getifaddrs().
| int32_t totemip_is_mcast | ( | struct totem_ip_address * | ip_addr | ) |
Definition at line 134 of file totemip.c.
References addr, totem_ip_address::addr, and totem_ip_address::family.
Referenced by totem_config_validate().
| int totemip_localhost | ( | int | family, |
| struct totem_ip_address * | localhost | ||
| ) |
| int totemip_localhost_check | ( | const struct totem_ip_address * | addr | ) |
| int totemip_parse | ( | struct totem_ip_address * | totemip, |
| const char * | addr, | ||
| enum totem_ip_version_enum | ip_version | ||
| ) |
Definition at line 306 of file totemip.c.
References addr, totem_ip_address::addr, totem_ip_address::family, log_printf, LOGSYS_LEVEL_DEBUG, TOTEM_IP_VERSION_4, TOTEM_IP_VERSION_4_6, TOTEM_IP_VERSION_6, TOTEM_IP_VERSION_6_4, and totemip_print().
| const char* totemip_print | ( | const struct totem_ip_address * | addr | ) |
Definition at line 256 of file totemip.c.
References addr.
Referenced by totem_volatile_config_validate(), totemip_parse(), totemknet_iface_set(), totemknet_member_add(), totempg_ifaces_print(), totemudp_nodestatus_get(), totemudpu_member_add(), totemudpu_member_remove(), and totemudpu_nodestatus_get().
| int totemip_sa_equal | ( | const struct totem_ip_address * | totem_ip, |
| const struct sockaddr * | sa | ||
| ) |
Definition at line 95 of file totemip.c.
References totem_ip_address::addr, and totem_ip_address::family.
| const char* totemip_sa_print | ( | const struct sockaddr * | sa | ) |
| int totemip_sockaddr_to_totemip_convert | ( | const struct sockaddr_storage * | saddr, |
| struct totem_ip_address * | ip_addr | ||
| ) |
Definition at line 420 of file totemip.c.
References totem_ip_address::addr, totem_ip_address::family, and totem_ip_address::nodeid.
Referenced by totemip_getifaddrs().
| int totemip_totemip_to_sockaddr_convert | ( | struct totem_ip_address * | ip_addr, |
| uint16_t | port, | ||
| struct sockaddr_storage * | saddr, | ||
| int * | addrlen | ||
| ) |
Definition at line 264 of file totemip.c.
References totem_ip_address::addr, and totem_ip_address::family.
Referenced by totemknet_member_add().
| size_t totemip_udpip_header_size | ( | int | family | ) |
Definition at line 608 of file totemip.c.
References family, TOTEMIP_IPV4_HEADER_SIZE, TOTEMIP_IPV6_HEADER_SIZE, and TOTEMIP_UDP_HEADER_SIZE.
Referenced by totemudp_net_mtu_adjust(), and totemudpu_net_mtu_adjust().