#include "netlink.h"Go to the source code of this file.
Classes | |
| struct | rtattr |
| struct | rtmsg |
| struct | rtnexthop |
| struct | rta_cacheinfo |
| struct | ifaddrmsg |
| struct | ifa_cacheinfo |
| struct | ndmsg |
| struct | nda_cacheinfo |
| struct | rtgenmsg |
| struct | ifinfomsg |
| struct | tcmsg |
Defines | |
| #define | RTNL_DEBUG 1 |
| #define | RTM_BASE 0x10 |
| #define | RTM_NEWLINK (RTM_BASE+0) |
| #define | RTM_DELLINK (RTM_BASE+1) |
| #define | RTM_GETLINK (RTM_BASE+2) |
| #define | RTM_NEWADDR (RTM_BASE+4) |
| #define | RTM_DELADDR (RTM_BASE+5) |
| #define | RTM_GETADDR (RTM_BASE+6) |
| #define | RTM_NEWROUTE (RTM_BASE+8) |
| #define | RTM_DELROUTE (RTM_BASE+9) |
| #define | RTM_GETROUTE (RTM_BASE+10) |
| #define | RTM_NEWNEIGH (RTM_BASE+12) |
| #define | RTM_DELNEIGH (RTM_BASE+13) |
| #define | RTM_GETNEIGH (RTM_BASE+14) |
| #define | RTM_NEWRULE (RTM_BASE+16) |
| #define | RTM_DELRULE (RTM_BASE+17) |
| #define | RTM_GETRULE (RTM_BASE+18) |
| #define | RTM_NEWQDISC (RTM_BASE+20) |
| #define | RTM_DELQDISC (RTM_BASE+21) |
| #define | RTM_GETQDISC (RTM_BASE+22) |
| #define | RTM_NEWTCLASS (RTM_BASE+24) |
| #define | RTM_DELTCLASS (RTM_BASE+25) |
| #define | RTM_GETTCLASS (RTM_BASE+26) |
| #define | RTM_NEWTFILTER (RTM_BASE+28) |
| #define | RTM_DELTFILTER (RTM_BASE+29) |
| #define | RTM_GETTFILTER (RTM_BASE+30) |
| #define | RTM_MAX (RTM_BASE+31) |
| #define | RTA_ALIGNTO 4 |
| #define | RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) ) |
| #define | RTA_OK(rta, len) |
| #define | RTA_NEXT(rta, attrlen) |
| #define | RTA_LENGTH(len) (RTA_ALIGN(sizeof(struct rtattr)) + (len)) |
| #define | RTA_SPACE(len) RTA_ALIGN(RTA_LENGTH(len)) |
| #define | RTA_DATA(rta) ((void*)(((char*)(rta)) + RTA_LENGTH(0))) |
| #define | RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0)) |
| #define | RTN_MAX RTN_XRESOLVE |
| #define | RTPROT_UNSPEC 0 |
| #define | RTPROT_REDIRECT 1 |
| #define | RTPROT_KERNEL 2 |
| #define | RTPROT_BOOT 3 |
| #define | RTPROT_STATIC 4 |
| #define | RTPROT_GATED 8 |
| #define | RTPROT_RA 9 |
| #define | RTPROT_MRT 10 |
| #define | RTPROT_ZEBRA 11 |
| #define | RTPROT_BIRD 12 |
| #define | RTPROT_DNROUTED 13 |
| #define | RTM_F_NOTIFY 0x100 |
| #define | RTM_F_CLONED 0x200 |
| #define | RTM_F_EQUALIZE 0x400 |
| #define | RT_TABLE_MAX RT_TABLE_LOCAL |
| #define | RTA_MAX RTA_CACHEINFO |
| #define | RTM_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct rtmsg)))) |
| #define | RTM_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct rtmsg)) |
| #define | RTNH_F_DEAD 1 |
| #define | RTNH_F_PERVASIVE 2 |
| #define | RTNH_F_ONLINK 4 |
| #define | RTNH_ALIGNTO 4 |
| #define | RTNH_ALIGN(len) ( ((len)+RTNH_ALIGNTO-1) & ~(RTNH_ALIGNTO-1) ) |
| #define | RTNH_OK(rtnh, len) |
| #define | RTNH_NEXT(rtnh) ((struct rtnexthop*)(((char*)(rtnh)) + RTNH_ALIGN((rtnh)->rtnh_len))) |
| #define | RTNH_LENGTH(len) (RTNH_ALIGN(sizeof(struct rtnexthop)) + (len)) |
| #define | RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len)) |
| #define | RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0))) |
| #define | RTNETLINK_HAVE_PEERINFO 1 |
| #define | RTAX_UNSPEC RTAX_UNSPEC |
| #define | RTAX_LOCK RTAX_LOCK |
| #define | RTAX_MTU RTAX_MTU |
| #define | RTAX_WINDOW RTAX_WINDOW |
| #define | RTAX_RTT RTAX_RTT |
| #define | RTAX_RTTVAR RTAX_RTTVAR |
| #define | RTAX_SSTHRESH RTAX_SSTHRESH |
| #define | RTAX_CWND RTAX_CWND |
| #define | RTAX_ADVMSS RTAX_ADVMSS |
| #define | RTAX_REORDERING RTAX_REORDERING |
| #define | RTAX_MAX RTAX_REORDERING |
| #define | IFA_MAX IFA_CACHEINFO |
| #define | IFA_F_SECONDARY 0x01 |
| #define | IFA_F_DEPRECATED 0x20 |
| #define | IFA_F_TENTATIVE 0x40 |
| #define | IFA_F_PERMANENT 0x80 |
| #define | IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) |
| #define | IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) |
| #define | NDA_MAX NDA_CACHEINFO |
| #define | NDA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndmsg)))) |
| #define | NDA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ndmsg)) |
| #define | NTF_PROXY 0x08 |
| #define | NTF_ROUTER 0x80 |
| #define | NUD_INCOMPLETE 0x01 |
| #define | NUD_REACHABLE 0x02 |
| #define | NUD_STALE 0x04 |
| #define | NUD_DELAY 0x08 |
| #define | NUD_PROBE 0x10 |
| #define | NUD_FAILED 0x20 |
| #define | NUD_NOARP 0x40 |
| #define | NUD_PERMANENT 0x80 |
| #define | NUD_NONE 0x00 |
| #define | IFLA_COST IFLA_COST |
| #define | IFLA_PRIORITY IFLA_PRIORITY |
| #define | IFLA_MASTER IFLA_MASTER |
| #define | IFLA_WIRELESS IFLA_WIRELESS |
| #define | IFLA_MAX IFLA_WIRELESS |
| #define | IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) |
| #define | IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg)) |
| #define | TCA_MAX TCA_RATE |
| #define | TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg)))) |
| #define | TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) |
| #define | RTATTR_MAX RTA_MAX |
| #define | RTMGRP_LINK 1 |
| #define | RTMGRP_NOTIFY 2 |
| #define | RTMGRP_NEIGH 4 |
| #define | RTMGRP_TC 8 |
| #define | RTMGRP_IPV4_IFADDR 0x10 |
| #define | RTMGRP_IPV4_MROUTE 0x20 |
| #define | RTMGRP_IPV4_ROUTE 0x40 |
| #define | RTMGRP_IPV6_IFADDR 0x100 |
| #define | RTMGRP_IPV6_MROUTE 0x200 |
| #define | RTMGRP_IPV6_ROUTE 0x400 |
| #define | RTMGRP_DECnet_IFADDR 0x1000 |
| #define | RTMGRP_DECnet_ROUTE 0x4000 |
Enumerations | |
| enum | { RTN_UNSPEC, RTN_UNICAST, RTN_LOCAL, RTN_BROADCAST, RTN_ANYCAST, RTN_MULTICAST, RTN_BLACKHOLE, RTN_UNREACHABLE, RTN_PROHIBIT, RTN_THROW, RTN_NAT, RTN_XRESOLVE } |
| enum | rt_scope_t { RT_SCOPE_UNIVERSE = 0, RT_SCOPE_SITE = 200, RT_SCOPE_LINK = 253, RT_SCOPE_HOST = 254, RT_SCOPE_NOWHERE = 255 } |
| enum | rt_class_t { RT_TABLE_UNSPEC = 0, RT_TABLE_DEFAULT = 253, RT_TABLE_MAIN = 254, RT_TABLE_LOCAL = 255 } |
| enum | rtattr_type_t { RTA_UNSPEC, RTA_DST, RTA_SRC, RTA_IIF, RTA_OIF, RTA_GATEWAY, RTA_PRIORITY, RTA_PREFSRC, RTA_METRICS, RTA_MULTIPATH, RTA_PROTOINFO, RTA_FLOW, RTA_CACHEINFO } |
| enum | { RTAX_UNSPEC, RTAX_LOCK, RTAX_MTU, RTAX_WINDOW, RTAX_RTT, RTAX_RTTVAR, RTAX_SSTHRESH, RTAX_CWND, RTAX_ADVMSS, RTAX_REORDERING, RTAX_REORDERING, RTAX_REORDERING, RTAX_REORDERING } |
| enum | { IFA_UNSPEC, IFA_ADDRESS, IFA_LOCAL, IFA_LABEL, IFA_BROADCAST, IFA_ANYCAST, IFA_CACHEINFO } |
| enum | { NDA_UNSPEC, NDA_DST, NDA_LLADDR, NDA_CACHEINFO } |
| enum | { IFLA_UNSPEC, IFLA_ADDRESS, IFLA_BROADCAST, IFLA_IFNAME, IFLA_MTU, IFLA_LINK, IFLA_QDISC, IFLA_STATS, IFLA_COST, IFLA_PRIORITY, IFLA_MASTER, IFLA_WIRELESS, IFLA_WIRELESS, IFLA_WIRELESS, IFLA_WIRELESS } |
| enum | { TCA_UNSPEC, TCA_KIND, TCA_OPTIONS, TCA_STATS, TCA_XSTATS, TCA_RATE } |
| #define IFA_F_DEPRECATED 0x20 |
| #define IFA_F_PERMANENT 0x80 |
| #define IFA_F_SECONDARY 0x01 |
| #define IFA_F_TENTATIVE 0x40 |
| #define IFA_MAX IFA_CACHEINFO |
| #define IFA_PAYLOAD | ( | n | ) | NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) |
| #define IFLA_COST IFLA_COST |
| #define IFLA_MASTER IFLA_MASTER |
| #define IFLA_MAX IFLA_WIRELESS |
| #define IFLA_PAYLOAD | ( | n | ) | NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg)) |
| #define IFLA_PRIORITY IFLA_PRIORITY |
| #define IFLA_WIRELESS IFLA_WIRELESS |
| #define NDA_MAX NDA_CACHEINFO |
| #define NDA_PAYLOAD | ( | n | ) | NLMSG_PAYLOAD(n,sizeof(struct ndmsg)) |
| #define NTF_PROXY 0x08 |
| #define NTF_ROUTER 0x80 |
| #define NUD_DELAY 0x08 |
| #define NUD_FAILED 0x20 |
| #define NUD_INCOMPLETE 0x01 |
| #define NUD_NOARP 0x40 |
| #define NUD_NONE 0x00 |
| #define NUD_PERMANENT 0x80 |
| #define NUD_PROBE 0x10 |
| #define NUD_REACHABLE 0x02 |
| #define NUD_STALE 0x04 |
| #define RT_TABLE_MAX RT_TABLE_LOCAL |
| #define RTA_ALIGN | ( | len | ) | ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) ) |
| #define RTA_ALIGNTO 4 |
| #define RTA_DATA | ( | rta | ) | ((void*)(((char*)(rta)) + RTA_LENGTH(0))) |
| #define RTA_LENGTH | ( | len | ) | (RTA_ALIGN(sizeof(struct rtattr)) + (len)) |
| #define RTA_MAX RTA_CACHEINFO |
| #define RTA_NEXT | ( | rta, | |||
| attrlen | ) |
| #define RTA_OK | ( | rta, | |||
| len | ) |
| #define RTA_PAYLOAD | ( | rta | ) | ((int)((rta)->rta_len) - RTA_LENGTH(0)) |
| #define RTA_SPACE | ( | len | ) | RTA_ALIGN(RTA_LENGTH(len)) |
| #define RTATTR_MAX RTA_MAX |
| #define RTAX_ADVMSS RTAX_ADVMSS |
| #define RTAX_CWND RTAX_CWND |
| #define RTAX_LOCK RTAX_LOCK |
| #define RTAX_MAX RTAX_REORDERING |
| #define RTAX_MTU RTAX_MTU |
| #define RTAX_REORDERING RTAX_REORDERING |
| #define RTAX_RTT RTAX_RTT |
| #define RTAX_RTTVAR RTAX_RTTVAR |
| #define RTAX_SSTHRESH RTAX_SSTHRESH |
| #define RTAX_UNSPEC RTAX_UNSPEC |
| #define RTAX_WINDOW RTAX_WINDOW |
| #define RTM_BASE 0x10 |
| #define RTM_DELADDR (RTM_BASE+5) |
| #define RTM_DELLINK (RTM_BASE+1) |
| #define RTM_DELNEIGH (RTM_BASE+13) |
| #define RTM_DELQDISC (RTM_BASE+21) |
| #define RTM_DELROUTE (RTM_BASE+9) |
| #define RTM_DELRULE (RTM_BASE+17) |
| #define RTM_DELTCLASS (RTM_BASE+25) |
| #define RTM_DELTFILTER (RTM_BASE+29) |
| #define RTM_F_CLONED 0x200 |
| #define RTM_F_EQUALIZE 0x400 |
| #define RTM_F_NOTIFY 0x100 |
| #define RTM_GETADDR (RTM_BASE+6) |
| #define RTM_GETLINK (RTM_BASE+2) |
| #define RTM_GETNEIGH (RTM_BASE+14) |
| #define RTM_GETQDISC (RTM_BASE+22) |
| #define RTM_GETROUTE (RTM_BASE+10) |
| #define RTM_GETRULE (RTM_BASE+18) |
| #define RTM_GETTCLASS (RTM_BASE+26) |
| #define RTM_GETTFILTER (RTM_BASE+30) |
| #define RTM_MAX (RTM_BASE+31) |
| #define RTM_NEWADDR (RTM_BASE+4) |
| #define RTM_NEWLINK (RTM_BASE+0) |
| #define RTM_NEWNEIGH (RTM_BASE+12) |
| #define RTM_NEWQDISC (RTM_BASE+20) |
| #define RTM_NEWROUTE (RTM_BASE+8) |
| #define RTM_NEWRULE (RTM_BASE+16) |
| #define RTM_NEWTCLASS (RTM_BASE+24) |
| #define RTM_NEWTFILTER (RTM_BASE+28) |
| #define RTM_PAYLOAD | ( | n | ) | NLMSG_PAYLOAD(n,sizeof(struct rtmsg)) |
| #define RTMGRP_DECnet_IFADDR 0x1000 |
| #define RTMGRP_DECnet_ROUTE 0x4000 |
| #define RTMGRP_IPV4_IFADDR 0x10 |
| #define RTMGRP_IPV4_MROUTE 0x20 |
| #define RTMGRP_IPV4_ROUTE 0x40 |
| #define RTMGRP_IPV6_IFADDR 0x100 |
| #define RTMGRP_IPV6_MROUTE 0x200 |
| #define RTMGRP_IPV6_ROUTE 0x400 |
| #define RTMGRP_LINK 1 |
| #define RTMGRP_NEIGH 4 |
| #define RTMGRP_NOTIFY 2 |
| #define RTMGRP_TC 8 |
| #define RTN_MAX RTN_XRESOLVE |
| #define RTNETLINK_HAVE_PEERINFO 1 |
| #define RTNH_ALIGN | ( | len | ) | ( ((len)+RTNH_ALIGNTO-1) & ~(RTNH_ALIGNTO-1) ) |
| #define RTNH_ALIGNTO 4 |
| #define RTNH_DATA | ( | rtnh | ) | ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0))) |
| #define RTNH_F_DEAD 1 |
| #define RTNH_F_ONLINK 4 |
| #define RTNH_F_PERVASIVE 2 |
| #define RTNH_LENGTH | ( | len | ) | (RTNH_ALIGN(sizeof(struct rtnexthop)) + (len)) |
| #define RTNH_NEXT | ( | rtnh | ) | ((struct rtnexthop*)(((char*)(rtnh)) + RTNH_ALIGN((rtnh)->rtnh_len))) |
| #define RTNH_OK | ( | rtnh, | |||
| len | ) |
Value:
((rtnh)->rtnh_len >= sizeof(struct rtnexthop) && \ ((int)(rtnh)->rtnh_len) <= (len))
| #define RTNH_SPACE | ( | len | ) | RTNH_ALIGN(RTNH_LENGTH(len)) |
| #define RTNL_DEBUG 1 |
| #define RTPROT_BIRD 12 |
| #define RTPROT_BOOT 3 |
| #define RTPROT_DNROUTED 13 |
| #define RTPROT_GATED 8 |
| #define RTPROT_KERNEL 2 |
| #define RTPROT_MRT 10 |
| #define RTPROT_RA 9 |
| #define RTPROT_REDIRECT 1 |
| #define RTPROT_STATIC 4 |
| #define RTPROT_UNSPEC 0 |
| #define RTPROT_ZEBRA 11 |
| #define TCA_MAX TCA_RATE |
| #define TCA_PAYLOAD | ( | n | ) | NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| enum rt_class_t |
| enum rt_scope_t |
| enum rtattr_type_t |
1.5.1