ip_common.h revision 4759758c05b3bda53b743a1c3238f1479bb61b43
1ae665a522bd46bea44c5ea84c89c8b1731954170Stephen Hemmingerextern int print_linkinfo(const struct sockaddr_nl *who, 2ae665a522bd46bea44c5ea84c89c8b1731954170Stephen Hemminger struct nlmsghdr *n, 36dc9f016347441fbf94cf851c054b0f45ba32c1cosdl.net!shemminger void *arg); 46dc9f016347441fbf94cf851c054b0f45ba32c1cosdl.net!shemmingerextern int print_addrinfo(const struct sockaddr_nl *who, 5ae665a522bd46bea44c5ea84c89c8b1731954170Stephen Hemminger struct nlmsghdr *n, 66dc9f016347441fbf94cf851c054b0f45ba32c1cosdl.net!shemminger void *arg); 74759758c05b3bda53b743a1c3238f1479bb61b43YOSHIFUJI Hideaki / 吉藤英明extern int print_addrlabelinfo(const struct sockaddr_nl *who, 84759758c05b3bda53b743a1c3238f1479bb61b43YOSHIFUJI Hideaki / 吉藤英明 struct nlmsghdr *n, 94759758c05b3bda53b743a1c3238f1479bb61b43YOSHIFUJI Hideaki / 吉藤英明 void *arg); 106dc9f016347441fbf94cf851c054b0f45ba32c1cosdl.net!shemmingerextern int print_neigh(const struct sockaddr_nl *who, 1150772dc51ac02239958e1ebcdb21277fcdf133a7osdl.net!shemminger struct nlmsghdr *n, void *arg); 1209954dc61adc3051cbb2127e2bfcf692502c8306shemmingerextern int print_ntable(const struct sockaddr_nl *who, 1309954dc61adc3051cbb2127e2bfcf692502c8306shemminger struct nlmsghdr *n, void *arg); 14aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int ipaddr_list(int argc, char **argv); 15aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int ipaddr_list_link(int argc, char **argv); 16aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int iproute_monitor(int argc, char **argv); 17aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern void iplink_usage(void) __attribute__((noreturn)); 18aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern void iproute_reset_filter(void); 19aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern void ipaddr_reset_filter(int); 20aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern void ipneigh_reset_filter(void); 2109954dc61adc3051cbb2127e2bfcf692502c8306shemmingerextern void ipntable_reset_filter(void); 22ae665a522bd46bea44c5ea84c89c8b1731954170Stephen Hemmingerextern int print_route(const struct sockaddr_nl *who, 2350772dc51ac02239958e1ebcdb21277fcdf133a7osdl.net!shemminger struct nlmsghdr *n, void *arg); 241cb54e58069fb413bd20738754b4e49f0403da0cnet[shemminger]!shemmingerextern int print_prefix(const struct sockaddr_nl *who, 251cb54e58069fb413bd20738754b4e49f0403da0cnet[shemminger]!shemminger struct nlmsghdr *n, void *arg); 2698bde989db679153ee7a5f6425037b5a002eb95dThomas Grafextern int print_rule(const struct sockaddr_nl *who, 2798bde989db679153ee7a5f6425037b5a002eb95dThomas Graf struct nlmsghdr *n, void *arg); 28aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_ipaddr(int argc, char **argv); 294759758c05b3bda53b743a1c3238f1479bb61b43YOSHIFUJI Hideaki / 吉藤英明extern int do_ipaddrlabel(int argc, char **argv); 30aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_iproute(int argc, char **argv); 31aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_iprule(int argc, char **argv); 32aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_ipneigh(int argc, char **argv); 3309954dc61adc3051cbb2127e2bfcf692502c8306shemmingerextern int do_ipntable(int argc, char **argv); 34aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_iptunnel(int argc, char **argv); 35288384f22ffafd2d7d888ee45d8dfcf26d3f2b1cMasahide NAKAMURAextern int do_ip6tunnel(int argc, char **argv); 36aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_iplink(int argc, char **argv); 37aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_ipmonitor(int argc, char **argv); 38aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_multiaddr(int argc, char **argv); 39aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerextern int do_multiroute(int argc, char **argv); 40c7699875bee00fbcd057fc62c30d6560b044e007net[shemminger]!shemmingerextern int do_xfrm(int argc, char **argv); 41351efcde4e62967362a10b29f3b701cfecd7cdfcshemminger 4234e9564753075c756f96597e7aa57f969a403aafPatrick McHardystatic inline int rtm_get_table(struct rtmsg *r, struct rtattr **tb) 4334e9564753075c756f96597e7aa57f969a403aafPatrick McHardy{ 4434e9564753075c756f96597e7aa57f969a403aafPatrick McHardy __u32 table = r->rtm_table; 4534e9564753075c756f96597e7aa57f969a403aafPatrick McHardy if (tb[RTA_TABLE]) 4634e9564753075c756f96597e7aa57f969a403aafPatrick McHardy table = *(__u32*) RTA_DATA(tb[RTA_TABLE]); 4734e9564753075c756f96597e7aa57f969a403aafPatrick McHardy return table; 4834e9564753075c756f96597e7aa57f969a403aafPatrick McHardy} 4934e9564753075c756f96597e7aa57f969a403aafPatrick McHardy 50351efcde4e62967362a10b29f3b701cfecd7cdfcshemmingerextern struct rtnl_handle rth; 51141bb60640efb17844b9b9c87d62f679c3036238Masahide NAKAMURA 521d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardystruct link_util 531d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy{ 541d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy struct link_util *next; 551d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy const char *id; 561d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy int maxattr; 571d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy int (*parse_opt)(struct link_util *, int, char **, 581d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy struct nlmsghdr *); 591d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy void (*print_opt)(struct link_util *, FILE *, 601d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy struct rtattr *[]); 611d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy void (*print_xstats)(struct link_util *, FILE *, 621d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy struct rtattr *); 631d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy}; 641d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy 651d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardystruct link_util *get_link_kind(const char *kind); 661d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy 67141bb60640efb17844b9b9c87d62f679c3036238Masahide NAKAMURA#ifndef INFINITY_LIFE_TIME 68141bb60640efb17844b9b9c87d62f679c3036238Masahide NAKAMURA#define INFINITY_LIFE_TIME 0xFFFFFFFFU 69141bb60640efb17844b9b9c87d62f679c3036238Masahide NAKAMURA#endif 70