aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rtnetlink.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/rtnetlink.h')
-rw-r--r--include/linux/rtnetlink.h133
1 files changed, 1 insertions, 132 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index 890c4d4038b6..84f3eb426da2 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -2,6 +2,7 @@
2#define __LINUX_RTNETLINK_H 2#define __LINUX_RTNETLINK_H
3 3
4#include <linux/netlink.h> 4#include <linux/netlink.h>
5#include <linux/if.h>
5 6
6/**** 7/****
7 * Routing/neighbour discovery messages. 8 * Routing/neighbour discovery messages.
@@ -607,138 +608,6 @@ struct prefix_cacheinfo
607 __u32 valid_time; 608 __u32 valid_time;
608}; 609};
609 610
610/* The struct should be in sync with struct net_device_stats */
611struct rtnl_link_stats
612{
613 __u32 rx_packets; /* total packets received */
614 __u32 tx_packets; /* total packets transmitted */
615 __u32 rx_bytes; /* total bytes received */
616 __u32 tx_bytes; /* total bytes transmitted */
617 __u32 rx_errors; /* bad packets received */
618 __u32 tx_errors; /* packet transmit problems */
619 __u32 rx_dropped; /* no space in linux buffers */
620 __u32 tx_dropped; /* no space available in linux */
621 __u32 multicast; /* multicast packets received */
622 __u32 collisions;
623
624 /* detailed rx_errors: */
625 __u32 rx_length_errors;
626 __u32 rx_over_errors; /* receiver ring buff overflow */
627 __u32 rx_crc_errors; /* recved pkt with crc error */
628 __u32 rx_frame_errors; /* recv'd frame alignment error */
629 __u32 rx_fifo_errors; /* recv'r fifo overrun */
630 __u32 rx_missed_errors; /* receiver missed packet */
631
632 /* detailed tx_errors */
633 __u32 tx_aborted_errors;
634 __u32 tx_carrier_errors;
635 __u32 tx_fifo_errors;
636 __u32 tx_heartbeat_errors;
637 __u32 tx_window_errors;
638
639 /* for cslip etc */
640 __u32 rx_compressed;
641 __u32 tx_compressed;
642};
643
644/* The struct should be in sync with struct ifmap */
645struct rtnl_link_ifmap
646{
647 __u64 mem_start;
648 __u64 mem_end;
649 __u64 base_addr;
650 __u16 irq;
651 __u8 dma;
652 __u8 port;
653};
654
655enum
656{
657 IFLA_UNSPEC,
658 IFLA_ADDRESS,
659 IFLA_BROADCAST,
660 IFLA_IFNAME,
661 IFLA_MTU,
662 IFLA_LINK,
663 IFLA_QDISC,
664 IFLA_STATS,
665 IFLA_COST,
666#define IFLA_COST IFLA_COST
667 IFLA_PRIORITY,
668#define IFLA_PRIORITY IFLA_PRIORITY
669 IFLA_MASTER,
670#define IFLA_MASTER IFLA_MASTER
671 IFLA_WIRELESS, /* Wireless Extension event - see wireless.h */
672#define IFLA_WIRELESS IFLA_WIRELESS
673 IFLA_PROTINFO, /* Protocol specific information for a link */
674#define IFLA_PROTINFO IFLA_PROTINFO
675 IFLA_TXQLEN,
676#define IFLA_TXQLEN IFLA_TXQLEN
677 IFLA_MAP,
678#define IFLA_MAP IFLA_MAP
679 IFLA_WEIGHT,
680#define IFLA_WEIGHT IFLA_WEIGHT
681 IFLA_OPERSTATE,
682 IFLA_LINKMODE,
683 __IFLA_MAX
684};
685
686
687#define IFLA_MAX (__IFLA_MAX - 1)
688
689#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
690#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
691
692/* ifi_flags.
693
694 IFF_* flags.
695
696 The only change is:
697 IFF_LOOPBACK, IFF_BROADCAST and IFF_POINTOPOINT are
698 more not changeable by user. They describe link media
699 characteristics and set by device driver.
700
701 Comments:
702 - Combination IFF_BROADCAST|IFF_POINTOPOINT is invalid
703 - If neither of these three flags are set;
704 the interface is NBMA.
705
706 - IFF_MULTICAST does not mean anything special:
707 multicasts can be used on all not-NBMA links.
708 IFF_MULTICAST means that this media uses special encapsulation
709 for multicast frames. Apparently, all IFF_POINTOPOINT and
710 IFF_BROADCAST devices are able to use multicasts too.
711 */
712
713/* IFLA_LINK.
714 For usual devices it is equal ifi_index.
715 If it is a "virtual interface" (f.e. tunnel), ifi_link
716 can point to real physical interface (f.e. for bandwidth calculations),
717 or maybe 0, what means, that real media is unknown (usual
718 for IPIP tunnels, when route to endpoint is allowed to change)
719 */
720
721/* Subtype attributes for IFLA_PROTINFO */
722enum
723{
724 IFLA_INET6_UNSPEC,
725 IFLA_INET6_FLAGS, /* link flags */
726 IFLA_INET6_CONF, /* sysctl parameters */
727 IFLA_INET6_STATS, /* statistics */
728 IFLA_INET6_MCAST, /* MC things. What of them? */
729 IFLA_INET6_CACHEINFO, /* time values and max reasm size */
730 __IFLA_INET6_MAX
731};
732
733#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
734
735struct ifla_cacheinfo
736{
737 __u32 max_reasm_len;
738 __u32 tstamp; /* ipv6InterfaceTable updated timestamp */
739 __u32 reachable_time;
740 __u32 retrans_time;
741};
742 611
743/***************************************************************** 612/*****************************************************************
744 * Traffic control messages. 613 * Traffic control messages.