linux/include/uapi/linux/if_addr.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __LINUX_IF_ADDR_H
#define __LINUX_IF_ADDR_H

#include <linux/types.h>
#include <linux/netlink.h>

struct ifaddrmsg {};

/*
 * Important comment:
 * IFA_ADDRESS is prefix address, rather than local interface address.
 * It makes no difference for normally configured broadcast interfaces,
 * but for point-to-point IFA_ADDRESS is DESTINATION address,
 * local address is supplied in IFA_LOCAL attribute.
 *
 * IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags.
 * If present, the value from struct ifaddrmsg will be ignored.
 */
enum {};

#define IFA_MAX

/* ifa_flags */
#define IFA_F_SECONDARY
#define IFA_F_TEMPORARY

#define IFA_F_NODAD
#define IFA_F_OPTIMISTIC
#define IFA_F_DADFAILED
#define IFA_F_HOMEADDRESS
#define IFA_F_DEPRECATED
#define IFA_F_TENTATIVE
#define IFA_F_PERMANENT
#define IFA_F_MANAGETEMPADDR
#define IFA_F_NOPREFIXROUTE
#define IFA_F_MCAUTOJOIN
#define IFA_F_STABLE_PRIVACY

struct ifa_cacheinfo {};

/* backwards compatibility for userspace */
#ifndef __KERNEL__
#define IFA_RTA
#define IFA_PAYLOAD
#endif

/* ifa_proto */
#define IFAPROT_UNSPEC
#define IFAPROT_KERNEL_LO
#define IFAPROT_KERNEL_RA
#define IFAPROT_KERNEL_LL

#endif