]> git.proxmox.com Git - mirror_iproute2.git/blame - ip/ip_common.h
Add support to configure SR-IOV VF minimum and maximum Tx rate through ip tool
[mirror_iproute2.git] / ip / ip_common.h
CommitLineData
4f2fdd44 1extern int get_operstate(const char *name);
ae665a52
SH
2extern int print_linkinfo(const struct sockaddr_nl *who,
3 struct nlmsghdr *n,
6dc9f016
SH
4 void *arg);
5extern int print_addrinfo(const struct sockaddr_nl *who,
ae665a52 6 struct nlmsghdr *n,
6dc9f016 7 void *arg);
5ef82157
SH
8extern int print_addrlabel(const struct sockaddr_nl *who,
9 struct nlmsghdr *n, void *arg);
6dc9f016 10extern int print_neigh(const struct sockaddr_nl *who,
50772dc5 11 struct nlmsghdr *n, void *arg);
09954dc6
SH
12extern int print_ntable(const struct sockaddr_nl *who,
13 struct nlmsghdr *n, void *arg);
aba5acdf
SH
14extern int ipaddr_list(int argc, char **argv);
15extern int ipaddr_list_link(int argc, char **argv);
16extern int iproute_monitor(int argc, char **argv);
17extern void iplink_usage(void) __attribute__((noreturn));
18extern void iproute_reset_filter(void);
e34d3dcc 19extern void ipmroute_reset_filter(void);
f89a2a05 20void ipaddr_get_vf_rate(int, int *, int *, int);
aba5acdf
SH
21extern void ipaddr_reset_filter(int);
22extern void ipneigh_reset_filter(void);
09954dc6 23extern void ipntable_reset_filter(void);
ae665a52 24extern int print_route(const struct sockaddr_nl *who,
50772dc5 25 struct nlmsghdr *n, void *arg);
e34d3dcc
ND
26extern int print_mroute(const struct sockaddr_nl *who,
27 struct nlmsghdr *n, void *arg);
1cb54e58 28extern int print_prefix(const struct sockaddr_nl *who,
29 struct nlmsghdr *n, void *arg);
98bde989
TG
30extern int print_rule(const struct sockaddr_nl *who,
31 struct nlmsghdr *n, void *arg);
9d0efc10
ND
32extern int print_netconf(const struct sockaddr_nl *who,
33 struct nlmsghdr *n, void *arg);
aba5acdf 34extern int do_ipaddr(int argc, char **argv);
4759758c 35extern int do_ipaddrlabel(int argc, char **argv);
aba5acdf
SH
36extern int do_iproute(int argc, char **argv);
37extern int do_iprule(int argc, char **argv);
38extern int do_ipneigh(int argc, char **argv);
09954dc6 39extern int do_ipntable(int argc, char **argv);
aba5acdf 40extern int do_iptunnel(int argc, char **argv);
288384f2 41extern int do_ip6tunnel(int argc, char **argv);
580fbd88 42extern int do_iptuntap(int argc, char **argv);
aba5acdf
SH
43extern int do_iplink(int argc, char **argv);
44extern int do_ipmonitor(int argc, char **argv);
45extern int do_multiaddr(int argc, char **argv);
46extern int do_multiroute(int argc, char **argv);
b6c8e808 47extern int do_multirule(int argc, char **argv);
0dc34c77 48extern int do_netns(int argc, char **argv);
c7699875 49extern int do_xfrm(int argc, char **argv);
38cd311a 50extern int do_ipl2tp(int argc, char **argv);
ea63a69b 51extern int do_tcp_metrics(int argc, char **argv);
9d0efc10 52extern int do_ipnetconf(int argc, char **argv);
191b60bd 53extern int do_iptoken(int argc, char **argv);
351efcde 54
34e95647
PM
55static inline int rtm_get_table(struct rtmsg *r, struct rtattr **tb)
56{
57 __u32 table = r->rtm_table;
58 if (tb[RTA_TABLE])
ff24746c 59 table = rta_getattr_u32(tb[RTA_TABLE]);
34e95647
PM
60 return table;
61}
62
351efcde 63extern struct rtnl_handle rth;
141bb606 64
fbea6115
JP
65#include <stdbool.h>
66
1d934839
PM
67struct link_util
68{
69 struct link_util *next;
70 const char *id;
71 int maxattr;
72 int (*parse_opt)(struct link_util *, int, char **,
73 struct nlmsghdr *);
74 void (*print_opt)(struct link_util *, FILE *,
75 struct rtattr *[]);
76 void (*print_xstats)(struct link_util *, FILE *,
77 struct rtattr *);
fbea6115 78 bool slave;
1d934839
PM
79};
80
81struct link_util *get_link_kind(const char *kind);
fbea6115 82struct link_util *get_link_slave_kind(const char *slave_kind);
0dc34c77 83int get_netns_fd(const char *name);
1d934839 84
141bb606
MN
85#ifndef INFINITY_LIFE_TIME
86#define INFINITY_LIFE_TIME 0xFFFFFFFFU
87#endif