~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/mptcp/mib.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /net/mptcp/mib.h (Architecture mips) and /net/mptcp/mib.h (Architecture sparc)


  1 /* SPDX-License-Identifier: GPL-2.0-or-later *      1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2                                                     2 
  3 #include <net/inet_common.h>                        3 #include <net/inet_common.h>
  4                                                     4 
  5 enum linux_mptcp_mib_field {                        5 enum linux_mptcp_mib_field {
  6         MPTCP_MIB_NUM = 0,                          6         MPTCP_MIB_NUM = 0,
  7         MPTCP_MIB_MPCAPABLEPASSIVE,     /* Rec      7         MPTCP_MIB_MPCAPABLEPASSIVE,     /* Received SYN with MP_CAPABLE */
  8         MPTCP_MIB_MPCAPABLEACTIVE,      /* Sen      8         MPTCP_MIB_MPCAPABLEACTIVE,      /* Sent SYN with MP_CAPABLE */
  9         MPTCP_MIB_MPCAPABLEACTIVEACK,   /* Rec      9         MPTCP_MIB_MPCAPABLEACTIVEACK,   /* Received SYN/ACK with MP_CAPABLE */
 10         MPTCP_MIB_MPCAPABLEPASSIVEACK,  /* Rec     10         MPTCP_MIB_MPCAPABLEPASSIVEACK,  /* Received third ACK with MP_CAPABLE */
 11         MPTCP_MIB_MPCAPABLEPASSIVEFALLBACK,/*      11         MPTCP_MIB_MPCAPABLEPASSIVEFALLBACK,/* Server-side fallback during 3-way handshake */
 12         MPTCP_MIB_MPCAPABLEACTIVEFALLBACK, /*      12         MPTCP_MIB_MPCAPABLEACTIVEFALLBACK, /* Client-side fallback during 3-way handshake */
 13         MPTCP_MIB_MPCAPABLEACTIVEDROP,  /* Cli     13         MPTCP_MIB_MPCAPABLEACTIVEDROP,  /* Client-side fallback due to a MPC drop */
 14         MPTCP_MIB_MPCAPABLEACTIVEDISABLED, /*      14         MPTCP_MIB_MPCAPABLEACTIVEDISABLED, /* Client-side disabled due to past issues */
 15         MPTCP_MIB_MPCAPABLEENDPATTEMPT, /* Pro     15         MPTCP_MIB_MPCAPABLEENDPATTEMPT, /* Prohibited MPC to port-based endp */
 16         MPTCP_MIB_TOKENFALLBACKINIT,    /* Cou     16         MPTCP_MIB_TOKENFALLBACKINIT,    /* Could not init/allocate token */
 17         MPTCP_MIB_RETRANSSEGS,          /* Seg     17         MPTCP_MIB_RETRANSSEGS,          /* Segments retransmitted at the MPTCP-level */
 18         MPTCP_MIB_JOINNOTOKEN,          /* Rec     18         MPTCP_MIB_JOINNOTOKEN,          /* Received MP_JOIN but the token was not found */
 19         MPTCP_MIB_JOINSYNRX,            /* Rec     19         MPTCP_MIB_JOINSYNRX,            /* Received a SYN + MP_JOIN */
 20         MPTCP_MIB_JOINSYNBACKUPRX,      /* Rec     20         MPTCP_MIB_JOINSYNBACKUPRX,      /* Received a SYN + MP_JOIN + backup flag */
 21         MPTCP_MIB_JOINSYNACKRX,         /* Rec     21         MPTCP_MIB_JOINSYNACKRX,         /* Received a SYN/ACK + MP_JOIN */
 22         MPTCP_MIB_JOINSYNACKBACKUPRX,   /* Rec     22         MPTCP_MIB_JOINSYNACKBACKUPRX,   /* Received a SYN/ACK + MP_JOIN + backup flag */
 23         MPTCP_MIB_JOINSYNACKMAC,        /* HMA     23         MPTCP_MIB_JOINSYNACKMAC,        /* HMAC was wrong on SYN/ACK + MP_JOIN */
 24         MPTCP_MIB_JOINACKRX,            /* Rec     24         MPTCP_MIB_JOINACKRX,            /* Received an ACK + MP_JOIN */
 25         MPTCP_MIB_JOINACKMAC,           /* HMA     25         MPTCP_MIB_JOINACKMAC,           /* HMAC was wrong on ACK + MP_JOIN */
 26         MPTCP_MIB_JOINSYNTX,            /* Sen     26         MPTCP_MIB_JOINSYNTX,            /* Sending a SYN + MP_JOIN */
 27         MPTCP_MIB_JOINSYNTXCREATSKERR,  /* Not     27         MPTCP_MIB_JOINSYNTXCREATSKERR,  /* Not able to create a socket when sending a SYN + MP_JOIN */
 28         MPTCP_MIB_JOINSYNTXBINDERR,     /* Not     28         MPTCP_MIB_JOINSYNTXBINDERR,     /* Not able to bind() the address when sending a SYN + MP_JOIN */
 29         MPTCP_MIB_JOINSYNTXCONNECTERR,  /* Not     29         MPTCP_MIB_JOINSYNTXCONNECTERR,  /* Not able to connect() when sending a SYN + MP_JOIN */
 30         MPTCP_MIB_DSSNOMATCH,           /* Rec     30         MPTCP_MIB_DSSNOMATCH,           /* Received a new mapping that did not match the previous one */
 31         MPTCP_MIB_DSSCORRUPTIONFALLBACK,/* DSS     31         MPTCP_MIB_DSSCORRUPTIONFALLBACK,/* DSS corruption detected, fallback */
 32         MPTCP_MIB_DSSCORRUPTIONRESET,   /* DSS     32         MPTCP_MIB_DSSCORRUPTIONRESET,   /* DSS corruption detected, MPJ subflow reset */
 33         MPTCP_MIB_INFINITEMAPTX,        /* Sen     33         MPTCP_MIB_INFINITEMAPTX,        /* Sent an infinite mapping */
 34         MPTCP_MIB_INFINITEMAPRX,        /* Rec     34         MPTCP_MIB_INFINITEMAPRX,        /* Received an infinite mapping */
 35         MPTCP_MIB_DSSTCPMISMATCH,       /* DSS     35         MPTCP_MIB_DSSTCPMISMATCH,       /* DSS-mapping did not map with TCP's sequence numbers */
 36         MPTCP_MIB_DATACSUMERR,          /* The     36         MPTCP_MIB_DATACSUMERR,          /* The data checksum fail */
 37         MPTCP_MIB_OFOQUEUETAIL, /* Segments in     37         MPTCP_MIB_OFOQUEUETAIL, /* Segments inserted into OoO queue tail */
 38         MPTCP_MIB_OFOQUEUE,             /* Seg     38         MPTCP_MIB_OFOQUEUE,             /* Segments inserted into OoO queue */
 39         MPTCP_MIB_OFOMERGE,             /* Seg     39         MPTCP_MIB_OFOMERGE,             /* Segments merged in OoO queue */
 40         MPTCP_MIB_NODSSWINDOW,          /* Seg     40         MPTCP_MIB_NODSSWINDOW,          /* Segments not in MPTCP windows */
 41         MPTCP_MIB_DUPDATA,              /* Seg     41         MPTCP_MIB_DUPDATA,              /* Segments discarded due to duplicate DSS */
 42         MPTCP_MIB_ADDADDR,              /* Rec     42         MPTCP_MIB_ADDADDR,              /* Received ADD_ADDR with echo-flag=0 */
 43         MPTCP_MIB_ADDADDRTX,            /* Sen     43         MPTCP_MIB_ADDADDRTX,            /* Sent ADD_ADDR with echo-flag=0 */
 44         MPTCP_MIB_ADDADDRTXDROP,        /* ADD     44         MPTCP_MIB_ADDADDRTXDROP,        /* ADD_ADDR with echo-flag=0 not send due to
 45                                          * res     45                                          * resource exhaustion
 46                                          */        46                                          */
 47         MPTCP_MIB_ECHOADD,              /* Rec     47         MPTCP_MIB_ECHOADD,              /* Received ADD_ADDR with echo-flag=1 */
 48         MPTCP_MIB_ECHOADDTX,            /* Sen     48         MPTCP_MIB_ECHOADDTX,            /* Send ADD_ADDR with echo-flag=1 */
 49         MPTCP_MIB_ECHOADDTXDROP,        /* ADD     49         MPTCP_MIB_ECHOADDTXDROP,        /* ADD_ADDR with echo-flag=1 not send due
 50                                          * to      50                                          * to resource exhaustion
 51                                          */        51                                          */
 52         MPTCP_MIB_PORTADD,              /* Rec     52         MPTCP_MIB_PORTADD,              /* Received ADD_ADDR with a port-number */
 53         MPTCP_MIB_ADDADDRDROP,          /* Dro     53         MPTCP_MIB_ADDADDRDROP,          /* Dropped incoming ADD_ADDR */
 54         MPTCP_MIB_JOINPORTSYNRX,        /* Rec     54         MPTCP_MIB_JOINPORTSYNRX,        /* Received a SYN MP_JOIN with a different port-number */
 55         MPTCP_MIB_JOINPORTSYNACKRX,     /* Rec     55         MPTCP_MIB_JOINPORTSYNACKRX,     /* Received a SYNACK MP_JOIN with a different port-number */
 56         MPTCP_MIB_JOINPORTACKRX,        /* Rec     56         MPTCP_MIB_JOINPORTACKRX,        /* Received an ACK MP_JOIN with a different port-number */
 57         MPTCP_MIB_MISMATCHPORTSYNRX,    /* Rec     57         MPTCP_MIB_MISMATCHPORTSYNRX,    /* Received a SYN MP_JOIN with a mismatched port-number */
 58         MPTCP_MIB_MISMATCHPORTACKRX,    /* Rec     58         MPTCP_MIB_MISMATCHPORTACKRX,    /* Received an ACK MP_JOIN with a mismatched port-number */
 59         MPTCP_MIB_RMADDR,               /* Rec     59         MPTCP_MIB_RMADDR,               /* Received RM_ADDR */
 60         MPTCP_MIB_RMADDRDROP,           /* Dro     60         MPTCP_MIB_RMADDRDROP,           /* Dropped incoming RM_ADDR */
 61         MPTCP_MIB_RMADDRTX,             /* Sen     61         MPTCP_MIB_RMADDRTX,             /* Sent RM_ADDR */
 62         MPTCP_MIB_RMADDRTXDROP,         /* RM_     62         MPTCP_MIB_RMADDRTXDROP,         /* RM_ADDR not sent due to resource exhaustion */
 63         MPTCP_MIB_RMSUBFLOW,            /* Rem     63         MPTCP_MIB_RMSUBFLOW,            /* Remove a subflow */
 64         MPTCP_MIB_MPPRIOTX,             /* Tra     64         MPTCP_MIB_MPPRIOTX,             /* Transmit a MP_PRIO */
 65         MPTCP_MIB_MPPRIORX,             /* Rec     65         MPTCP_MIB_MPPRIORX,             /* Received a MP_PRIO */
 66         MPTCP_MIB_MPFAILTX,             /* Tra     66         MPTCP_MIB_MPFAILTX,             /* Transmit a MP_FAIL */
 67         MPTCP_MIB_MPFAILRX,             /* Rec     67         MPTCP_MIB_MPFAILRX,             /* Received a MP_FAIL */
 68         MPTCP_MIB_MPFASTCLOSETX,        /* Tra     68         MPTCP_MIB_MPFASTCLOSETX,        /* Transmit a MP_FASTCLOSE */
 69         MPTCP_MIB_MPFASTCLOSERX,        /* Rec     69         MPTCP_MIB_MPFASTCLOSERX,        /* Received a MP_FASTCLOSE */
 70         MPTCP_MIB_MPRSTTX,              /* Tra     70         MPTCP_MIB_MPRSTTX,              /* Transmit a MP_RST */
 71         MPTCP_MIB_MPRSTRX,              /* Rec     71         MPTCP_MIB_MPRSTRX,              /* Received a MP_RST */
 72         MPTCP_MIB_RCVPRUNED,            /* Inc     72         MPTCP_MIB_RCVPRUNED,            /* Incoming packet dropped due to memory limit */
 73         MPTCP_MIB_SUBFLOWSTALE,         /* Sub     73         MPTCP_MIB_SUBFLOWSTALE,         /* Subflows entered 'stale' status */
 74         MPTCP_MIB_SUBFLOWRECOVER,       /* Sub     74         MPTCP_MIB_SUBFLOWRECOVER,       /* Subflows returned to active status after being stale */
 75         MPTCP_MIB_SNDWNDSHARED,         /* Sub     75         MPTCP_MIB_SNDWNDSHARED,         /* Subflow snd wnd is overridden by msk's one */
 76         MPTCP_MIB_RCVWNDSHARED,         /* Sub     76         MPTCP_MIB_RCVWNDSHARED,         /* Subflow rcv wnd is overridden by msk's one */
 77         MPTCP_MIB_RCVWNDCONFLICTUPDATE, /* sub     77         MPTCP_MIB_RCVWNDCONFLICTUPDATE, /* subflow rcv wnd is overridden by msk's one due to
 78                                          * con     78                                          * conflict with another subflow while updating msk rcv wnd
 79                                          */        79                                          */
 80         MPTCP_MIB_RCVWNDCONFLICT,       /* Con     80         MPTCP_MIB_RCVWNDCONFLICT,       /* Conflict with while updating msk rcv wnd */
 81         MPTCP_MIB_CURRESTAB,            /* Cur     81         MPTCP_MIB_CURRESTAB,            /* Current established MPTCP connections */
 82         MPTCP_MIB_BLACKHOLE,            /* A b     82         MPTCP_MIB_BLACKHOLE,            /* A blackhole has been detected */
 83         __MPTCP_MIB_MAX                            83         __MPTCP_MIB_MAX
 84 };                                                 84 };
 85                                                    85 
 86 #define LINUX_MIB_MPTCP_MAX     __MPTCP_MIB_MA     86 #define LINUX_MIB_MPTCP_MAX     __MPTCP_MIB_MAX
 87 struct mptcp_mib {                                 87 struct mptcp_mib {
 88         unsigned long mibs[LINUX_MIB_MPTCP_MAX     88         unsigned long mibs[LINUX_MIB_MPTCP_MAX];
 89 };                                                 89 };
 90                                                    90 
 91 static inline void MPTCP_ADD_STATS(struct net      91 static inline void MPTCP_ADD_STATS(struct net *net,
 92                                    enum linux_     92                                    enum linux_mptcp_mib_field field,
 93                                    int val)        93                                    int val)
 94 {                                                  94 {
 95         if (likely(net->mib.mptcp_statistics))     95         if (likely(net->mib.mptcp_statistics))
 96                 SNMP_ADD_STATS(net->mib.mptcp_     96                 SNMP_ADD_STATS(net->mib.mptcp_statistics, field, val);
 97 }                                                  97 }
 98                                                    98 
 99 static inline void MPTCP_INC_STATS(struct net      99 static inline void MPTCP_INC_STATS(struct net *net,
100                                    enum linux_    100                                    enum linux_mptcp_mib_field field)
101 {                                                 101 {
102         if (likely(net->mib.mptcp_statistics))    102         if (likely(net->mib.mptcp_statistics))
103                 SNMP_INC_STATS(net->mib.mptcp_    103                 SNMP_INC_STATS(net->mib.mptcp_statistics, field);
104 }                                                 104 }
105                                                   105 
106 static inline void __MPTCP_INC_STATS(struct ne    106 static inline void __MPTCP_INC_STATS(struct net *net,
107                                      enum linu    107                                      enum linux_mptcp_mib_field field)
108 {                                                 108 {
109         if (likely(net->mib.mptcp_statistics))    109         if (likely(net->mib.mptcp_statistics))
110                 __SNMP_INC_STATS(net->mib.mptc    110                 __SNMP_INC_STATS(net->mib.mptcp_statistics, field);
111 }                                                 111 }
112                                                   112 
113 static inline void MPTCP_DEC_STATS(struct net     113 static inline void MPTCP_DEC_STATS(struct net *net,
114                                    enum linux_    114                                    enum linux_mptcp_mib_field field)
115 {                                                 115 {
116         if (likely(net->mib.mptcp_statistics))    116         if (likely(net->mib.mptcp_statistics))
117                 SNMP_DEC_STATS(net->mib.mptcp_    117                 SNMP_DEC_STATS(net->mib.mptcp_statistics, field);
118 }                                                 118 }
119                                                   119 
120 bool mptcp_mib_alloc(struct net *net);            120 bool mptcp_mib_alloc(struct net *net);
121                                                   121 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php