Print this page
dccp: MIB-II

@@ -94,16 +94,18 @@
 #define MIB2_IP6                (IPPROTO_MAX+12)
 #define MIB2_ICMP6              (IPPROTO_MAX+13)
 #define MIB2_TCP6               (IPPROTO_MAX+14)
 #define MIB2_UDP6               (IPPROTO_MAX+15)
 #define MIB2_SCTP               (IPPROTO_MAX+16)
+#define MIB2_DCCP               (IPPROTO_MAX+17)
+#define MIB2_DCCP6              (IPPROTO_MAX+18)
 
 /*
  * Define range of levels for use with MIB2_*
  */
 #define MIB2_RANGE_START        (IPPROTO_MAX+1)
-#define MIB2_RANGE_END          (IPPROTO_MAX+16)
+#define MIB2_RANGE_END          (IPPROTO_MAX+18)
 
 
 #define EXPER                   1024    /* experimental - not part of mib */
 #define EXPER_IGMP              (EXPER+1)
 #define EXPER_DVMRP             (EXPER+2)

@@ -1784,10 +1786,138 @@
 
 #if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
 #pragma pack()
 #endif
 
+/*
+ * the DCCP group
+ */
+#define MIB2_DCCP_CONN          18
+#define MIB2_DCCP6_CONN         19
+
+#define MIB2_DCCP_closed        1
+#define MIB2_DCCP_listen        2
+
+/* Pack data to make struct size the same for 32- and 64-bits */
+#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
+#pragma pack(4)
+#endif
+
+typedef struct mib2_dccp {
+
+                /* # of direct transitions CLOSED -> ACK-SENT   { dccp 5 } */
+        Counter dccpActiveOpens;
+                /* # of direct transitions LISTEN -> ACK-RCVD   { dccp 6 } */
+        Counter dccpPassiveOpens;
+                /* # of direct SIN-SENT/RCVD -> CLOSED/LISTEN   { dccp 7 } */
+        Counter dccpAttemptFails;
+                /* # of direct ESTABLISHED/CLOSE-WAIT -> CLOSED { dccp 8 } */
+        Counter dccpEstabResets;
+                /* # of connections ESTABLISHED or CLOSE-WAIT   { dccp 9 } */
+        Gauge   dccpCurrEstab;
+                /* total # of segments recv'd                   { dccp 10 } */
+        Counter dccpInSegs;
+                /* total # of segments sent                     { dccp 11 } */
+        Counter dccpOutSegs;
+                /* total # of segments retransmitted            { dccp 12 } */
+        Counter dccpRetransSegs;
+
+        Counter dccpTimRetrans;
+        /* total # of retransmit timeouts dropping the connection */
+        Counter dccpTimRetransDrop;
+        /* total # of keepalive timeouts */
+        Counter dccpTimKeepalive;
+        /* total # of keepalive timeouts sending a probe */
+        Counter dccpTimKeepaliveProbe;
+        /* total # of keepalive timeouts dropping the connection */
+        Counter dccpTimKeepaliveDrop;
+
+        Counter dccpOutDataSegs;
+        Counter dccpOutDataBytes;
+
+        int     dccpEntrySize;
+        int     dccp6EntrySize;
+
+        int     dccpConnTableSize;
+        int     dccp6ConnTableSize;
+
+        Counter64       dccpHCInDatagrams;
+        /* total # of segments recv'd                           { tcp 17 } */
+        Counter64       dccpHCInSegs;
+        /* total # of segments sent                             { tcp 18 } */
+        Counter64       dccpHCOutSegs;
+} mib2_dccp_t;
+#define MIB_FIRST_NEW_ELM_mib2_dccp_t   dccpHCInDatagrams
+
+#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
+#pragma pack()
+#endif
+
+/* Pack data to make struct size the same for 32- and 64-bits */
+#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
+#pragma pack(4)
+#endif
+
+typedef struct mib2_dccpConnEntry {
+        int             dccpConnState;
+        IpAddress       dccpConnLocalAddress;
+        int             dccpConnLocalPort;
+        IpAddress       dccpConnRemAddress;
+        int             dccpConnRemPort;
+
+        struct dccpConnEntryInfo_s {
+                                /* current rto (retransmit timeout) */
+                Gauge           ce_rto;
+                                /* current max segment size */
+                Gauge           ce_mss;
+                                /* actual internal state */
+                int             ce_state;
+        } dccpConnEntryInfo;
+
+        uint32_t        dccpConnCreationProcess;
+        uint64_t        dccpConnCreationTime;
+} mib2_dccpConnEntry_t;
+#define MIB_FIRST_NEW_ELM_mib2_dccpConnEntry_t  dccpConnCreationProcess
+
+#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
+#pragma pack()
+#endif
+
+/* Pack data to make struct size the same for 32- and 64-bits */
+#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
+#pragma pack(4)
+#endif
+
+typedef struct mib2_dccp6ConnEntry {
+        Ip6Address      dccp6ConnLocalAddress;
+        int             dccp6ConnLocalPort;
+        Ip6Address      dccp6ConnRemAddress;
+        int             dccp6ConnRemPort;
+        /* Interface index or zero              { ipv6DccpConnEntry 5 } */
+        DeviceIndex     dccp6ConnIfIndex;
+        /* State of dccp6 connection            { ipv6DccpConnEntry 6 } RW */
+        int             dccp6ConnState;
+
+        struct dccp6ConnEntryInfo_s {
+                                /* current rto (retransmit timeout) */
+                Gauge           ce_rto;
+                                /* current max segment size */
+                Gauge           ce_mss;
+                                /* actual internal state */
+                int             ce_state;
+        } dccp6ConnEntryInfo;
+
+        /* PID of the processes that created this connection */
+        uint32_t        dccp6ConnCreationProcess;
+        /* System uptime when the connection was created */
+        uint64_t        dccp6ConnCreationTime;
+} mib2_dccp6ConnEntry_t;
+#define MIB_FIRST_NEW_ELM_mib2_dccp6ConnEntry_t dccp6ConnCreationProcess
+
+#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
+#pragma pack()
+#endif
 
 #ifdef  __cplusplus
 }
 #endif