]> git.proxmox.com Git - mirror_frr.git/blobdiff - tests/bgpd/test_capability.c
Revert "*: reindent pt. 2"
[mirror_frr.git] / tests / bgpd / test_capability.c
index 2b515b0f78863c189039da0eac5d8876e177e812..9ec2b5df19698aa07beb2c2236776723bea8062f 100644 (file)
@@ -216,387 +216,439 @@ static struct test_segment mp_segments[] = {
        },
        {NULL, NULL, {0}, 0, 0}};
 
-static struct test_segment misc_segments[] = {
-       /* 13 */
+static struct test_segment misc_segments[] =
        {
-               "ORF",
-               "ORF, simple, single entry, single tuple",
-               {/* hdr */ CAPABILITY_CODE_ORF, 0x7,
-                /* mpc */ 0x0, 0x1, 0x0, 0x1,
-                /* num */ 0x1,
-                /* tuples */ 0x40, 0x3},
-               9,
-               SHOULD_PARSE,
-       },
-       /* 14 */
-       {
-               "ORF-many",
-               "ORF, multi entry/tuple",
+               /* 13 */
                {
-                       /* hdr */ CAPABILITY_CODE_ORF,
-                       0x21,
-                       /* mpc */ 0x0,
-                       0x1,
-                       0x0,
-                       0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       ORF_MODE_BOTH,
-                       0x80,
-                       ORF_MODE_RECEIVE,
-                       0x80,
-                       ORF_MODE_SEND,
-                       /* mpc */ 0x0,
-                       0x2,
-                       0x0,
-                       0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       ORF_MODE_BOTH,
-                       0x80,
-                       ORF_MODE_RECEIVE,
-                       0x80,
-                       ORF_MODE_SEND,
-                       /* mpc */ 0x0,
-                       0x2,
-                       0x0,
-                       0x2,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       ORF_MODE_RECEIVE,
-                       0x80,
-                       ORF_MODE_SEND,
-                       0x80,
-                       ORF_MODE_BOTH,
+                       "ORF",
+                       "ORF, simple, single entry, single tuple",
+                       {/* hdr */ CAPABILITY_CODE_ORF, 0x7,
+                        /* mpc */ 0x0, 0x1, 0x0, 0x1,
+                        /* num */ 0x1,
+                        /* tuples */ 0x40, 0x3},
+                       9,
+                       SHOULD_PARSE,
                },
-               35,
-               SHOULD_PARSE,
-       },
-       /* 15 */
-       {
-               "ORFlo",
-               "ORF, multi entry/tuple, hdr length too short",
+               /* 14 */
                {
-                       /* hdr */ CAPABILITY_CODE_ORF,
-                       0x15,
-                       /* mpc */ 0x0,
-                       0x1,
-                       0x0,
-                       0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       0x3,
-                       0x80,
-                       0x1,
-                       0x80,
-                       0x2,
-                       /* mpc */ 0x0,
-                       0x1,
-                       0x0,
-                       0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       0x3,
-                       0x80,
-                       0x1,
-                       0x80,
-                       0x2,
-                       /* mpc */ 0x0,
-                       0x2,
-                       0x0,
-                       0x2,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       0x3,
-                       0x80,
-                       0x1,
-                       0x80,
-                       0x2,
+                       "ORF-many",
+                       "ORF, multi entry/tuple",
+                       {
+                               /* hdr */ CAPABILITY_CODE_ORF,
+                               0x21,
+                               /* mpc */ 0x0,
+                               0x1,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               ORF_MODE_BOTH,
+                               0x80,
+                               ORF_MODE_RECEIVE,
+                               0x80,
+                               ORF_MODE_SEND,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               ORF_MODE_BOTH,
+                               0x80,
+                               ORF_MODE_RECEIVE,
+                               0x80,
+                               ORF_MODE_SEND,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x2,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               ORF_MODE_RECEIVE,
+                               0x80,
+                               ORF_MODE_SEND,
+                               0x80,
+                               ORF_MODE_BOTH,
+                       },
+                       35,
+                       SHOULD_PARSE,
                },
-               35,
-               SHOULD_ERR, /* It should error on invalid
-                              Route-Refresh.. */
-       },
-       /* 16 */
-       {"ORFlu",
-        "ORF, multi entry/tuple, length too long",
-        {
-                /* hdr */ 0x3,     0x22,
-                /* mpc */ 0x0,     0x1,  0x0,  0x1,
-                /* num */ 0x3,
-                /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
-                /* mpc */ 0x0,     0x2,  0x0,  0x1,
-                /* num */ 0x3,
-                /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
-                /* mpc */ 0x0,     0x2,  0x0,  0x2,
-                /* num */ 0x3,
-                /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
-        },
-        35,
-        SHOULD_ERR},
-       /* 17 */
-       {
-               "ORFnu",
-               "ORF, multi entry/tuple, entry number too long",
+               /* 15 */
                {
-                       /* hdr */ 0x3,     0x21,
-                       /* mpc */ 0x0,     0x1,  0x0,  0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
-                       /* mpc */ 0x0,     0x2,  0x0,  0x1,
-                       /* num */ 0x4,
-                       /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
-                       /* mpc */ 0x0,     0x2,  0x0,  0x2,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
+                       "ORFlo",
+                       "ORF, multi entry/tuple, hdr length too short",
+                       {
+                               /* hdr */ CAPABILITY_CODE_ORF,
+                               0x15,
+                               /* mpc */ 0x0,
+                               0x1,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x1,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x2,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                       },
+                       35,
+                       SHOULD_ERR, /* It should error on invalid
+                                      Route-Refresh.. */
                },
-               35,
-               SHOULD_PARSE, /* parses, but last few tuples should be
-                                gibberish */
-       },
-       /* 18 */
-       {
-               "ORFno",
-               "ORF, multi entry/tuple, entry number too short",
+               /* 16 */
+               {"ORFlu",
+                "ORF, multi entry/tuple, length too long",
+                {
+                        /* hdr */ 0x3,
+                        0x22,
+                        /* mpc */ 0x0,
+                        0x1,
+                        0x0,
+                        0x1,
+                        /* num */ 0x3,
+                        /* tuples */ 0x40,
+                        0x3,
+                        0x80,
+                        0x1,
+                        0x80,
+                        0x2,
+                        /* mpc */ 0x0,
+                        0x2,
+                        0x0,
+                        0x1,
+                        /* num */ 0x3,
+                        /* tuples */ 0x40,
+                        0x3,
+                        0x80,
+                        0x1,
+                        0x80,
+                        0x2,
+                        /* mpc */ 0x0,
+                        0x2,
+                        0x0,
+                        0x2,
+                        /* num */ 0x3,
+                        /* tuples */ 0x40,
+                        0x3,
+                        0x80,
+                        0x1,
+                        0x80,
+                        0x2,
+                },
+                35,
+                SHOULD_ERR},
+               /* 17 */
                {
-                       /* hdr */ 0x3,     0x21,
-                       /* mpc */ 0x0,     0x1,  0x0,  0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
-                       /* mpc */ 0x0,     0x2,  0x0,  0x1,
-                       /* num */ 0x1,
-                       /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
-                       /* mpc */ 0x0,     0x2,  0x0,  0x2,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40, 0x3,  0x80, 0x1, 0x80, 0x2,
+                       "ORFnu",
+                       "ORF, multi entry/tuple, entry number too long",
+                       {
+                               /* hdr */ 0x3,
+                               0x21,
+                               /* mpc */ 0x0,
+                               0x1,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x1,
+                               /* num */ 0x4,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x2,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                       },
+                       35,
+                       SHOULD_PARSE, /* parses, but last few tuples should be
+                                        gibberish */
                },
-               35,
-               SHOULD_PARSE, /* Parses, but should get gibberish
-                                afi/safis */
-       },
-       /* 17 */
-       {
-               "ORFpad",
-               "ORF, multi entry/tuple, padded to align",
+               /* 18 */
                {
-                       /* hdr */ 0x3,
-                       0x22,
-                       /* mpc */ 0x0,
-                       0x1,
-                       0x0,
-                       0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       0x3,
-                       0x80,
-                       0x1,
-                       0x80,
-                       0x2,
-                       /* mpc */ 0x0,
-                       0x2,
-                       0x0,
-                       0x1,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       0x3,
-                       0x80,
-                       0x1,
-                       0x80,
-                       0x2,
-                       /* mpc */ 0x0,
-                       0x2,
-                       0x0,
-                       0x2,
-                       /* num */ 0x3,
-                       /* tuples */ 0x40,
-                       0x3,
-                       0x80,
-                       0x1,
-                       0x80,
-                       0x2,
-                       0x00,
+                       "ORFno",
+                       "ORF, multi entry/tuple, entry number too short",
+                       {
+                               /* hdr */ 0x3,
+                               0x21,
+                               /* mpc */ 0x0,
+                               0x1,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x1,
+                               /* num */ 0x1,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x2,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                       },
+                       35,
+                       SHOULD_PARSE, /* Parses, but should get gibberish
+                                        afi/safis */
                },
-               36,
-               SHOULD_PARSE,
-       },
-       /* 19 */
-       {
-               "AS4",
-               "AS4 capability",
-               {0x41, 0x4, 0xab, 0xcd, 0xef, 0x12}, /* AS: 2882400018 */
-               6,
-               SHOULD_PARSE,
-               2882400018,
-       },
-       {
-               "AS4",
-               "AS4 capability: short",
-               {0x41, 0x4, 0xab, 0xcd, 0xef}, /* AS: 2882400018 */
-               5,
-               SHOULD_ERR,
-       },
-       {
-               "AS4",
-               "AS4 capability: long",
-               {0x41, 0x4, 0xab, 0xcd, 0xef, 0x12, 0x12},
-               7,
-               SHOULD_ERR,
-               2882400018,
-       },
-       {
-               "GR",
-               "GR capability",
+               /* 17 */
                {
-                       /* hdr */ CAPABILITY_CODE_RESTART,
-                       0xe,
-                       /* R-bit, time */ 0xf1,
-                       0x12,
-                       /* afi */ 0x0,
-                       0x1,
-                       /* safi */ 0x1,
-                       /* flags */ 0xf,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x1,
-                       /* flags */ 0x0,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x2,
-                       /* flags */ 0x1,
+                       "ORFpad",
+                       "ORF, multi entry/tuple, padded to align",
+                       {
+                               /* hdr */ 0x3,
+                               0x22,
+                               /* mpc */ 0x0,
+                               0x1,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x1,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               /* mpc */ 0x0,
+                               0x2,
+                               0x0,
+                               0x2,
+                               /* num */ 0x3,
+                               /* tuples */ 0x40,
+                               0x3,
+                               0x80,
+                               0x1,
+                               0x80,
+                               0x2,
+                               0x00,
+                       },
+                       36,
+                       SHOULD_PARSE,
                },
-               16,
-               SHOULD_PARSE,
-       },
-       {
-               "GR-short",
-               "GR capability, but header length too short",
+               /* 19 */
                {
-                       /* hdr */ 0x40,
-                       0xa,
-                       /* R-bit, time */ 0xf1,
-                       0x12,
-                       /* afi */ 0x0,
-                       0x1,
-                       /* safi */ 0x1,
-                       /* flags */ 0xf,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x1,
-                       /* flags */ 0x0,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x2,
-                       /* flags */ 0x1,
+                       "AS4",
+                       "AS4 capability",
+                       {0x41, 0x4, 0xab, 0xcd, 0xef,
+                        0x12}, /* AS: 2882400018 */
+                       6,
+                       SHOULD_PARSE,
+                       2882400018,
                },
-               15 /* array is 16 though */,
-               SHOULD_ERR,
-       },
-       {
-               "GR-long",
-               "GR capability, but header length too long",
                {
-                       /* hdr */ 0x40,
-                       0xf,
-                       /* R-bit, time */ 0xf1,
-                       0x12,
-                       /* afi */ 0x0,
-                       0x1,
-                       /* safi */ 0x1,
-                       /* flags */ 0xf,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x1,
-                       /* flags */ 0x0,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x2,
-                       /* flags */ 0x01,
+                       "AS4",
+                       "AS4 capability: short",
+                       {0x41, 0x4, 0xab, 0xcd, 0xef}, /* AS: 2882400018 */
+                       5,
+                       SHOULD_ERR,
                },
-               16,
-               SHOULD_ERR,
-       },
-       {
-               "GR-trunc",
-               "GR capability, but truncated",
                {
-                       /* hdr */ 0x40,
-                       0xf,
-                       /* R-bit, time */ 0xf1,
-                       0x12,
-                       /* afi */ 0x0,
-                       0x1,
-                       /* safi */ 0x1,
-                       /* flags */ 0xf,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x1,
-                       /* flags */ 0x0,
-                       /* afi */ 0x0,
-                       0x2,
-                       /* safi */ 0x2,
-                       /* flags */ 0x1,
+                       "AS4",
+                       "AS4 capability: long",
+                       {0x41, 0x4, 0xab, 0xcd, 0xef, 0x12, 0x12},
+                       7,
+                       SHOULD_ERR,
+                       2882400018,
                },
-               15,
-               SHOULD_ERR,
-       },
-       {
-               "GR-empty",
-               "GR capability, but empty.",
                {
-                       /* hdr */ 0x40,
-                       0x0,
+                       "GR",
+                       "GR capability",
+                       {
+                               /* hdr */ CAPABILITY_CODE_RESTART, 0xe,
+                               /* R-bit, time */ 0xf1, 0x12,
+                               /* afi */ 0x0, 0x1,
+                               /* safi */ 0x1,
+                               /* flags */ 0xf,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x1,
+                               /* flags */ 0x0,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x2,
+                               /* flags */ 0x1,
+                       },
+                       16,
+                       SHOULD_PARSE,
                },
-               2,
-               SHOULD_ERR,
-       },
-       {
-               "MP-empty",
-               "MP capability, but empty.",
                {
-                       /* hdr */ 0x1,
-                       0x0,
+                       "GR-short",
+                       "GR capability, but header length too short",
+                       {
+                               /* hdr */ 0x40, 0xa,
+                               /* R-bit, time */ 0xf1, 0x12,
+                               /* afi */ 0x0, 0x1,
+                               /* safi */ 0x1,
+                               /* flags */ 0xf,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x1,
+                               /* flags */ 0x0,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x2,
+                               /* flags */ 0x1,
+                       },
+                       15 /* array is 16 though */,
+                       SHOULD_ERR,
                },
-               2,
-               SHOULD_ERR,
-       },
-       {
-               "ORF-empty",
-               "ORF capability, but empty.",
                {
-                       /* hdr */ 0x3,
-                       0x0,
+                       "GR-long",
+                       "GR capability, but header length too long",
+                       {
+                               /* hdr */ 0x40, 0xf,
+                               /* R-bit, time */ 0xf1, 0x12,
+                               /* afi */ 0x0, 0x1,
+                               /* safi */ 0x1,
+                               /* flags */ 0xf,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x1,
+                               /* flags */ 0x0,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x2,
+                               /* flags */ 0x01,
+                       },
+                       16,
+                       SHOULD_ERR,
                },
-               2,
-               SHOULD_ERR,
-       },
-       {
-               "AS4-empty",
-               "AS4 capability, but empty.",
                {
-                       /* hdr */ 0x41,
-                       0x0,
+                       "GR-trunc",
+                       "GR capability, but truncated",
+                       {
+                               /* hdr */ 0x40, 0xf,
+                               /* R-bit, time */ 0xf1, 0x12,
+                               /* afi */ 0x0, 0x1,
+                               /* safi */ 0x1,
+                               /* flags */ 0xf,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x1,
+                               /* flags */ 0x0,
+                               /* afi */ 0x0, 0x2,
+                               /* safi */ 0x2,
+                               /* flags */ 0x1,
+                       },
+                       15,
+                       SHOULD_ERR,
                },
-               2,
-               SHOULD_ERR,
-       },
-       {
-               "dyn-empty",
-               "Dynamic capability, but empty.",
                {
-                       /* hdr */ 0x42,
-                       0x0,
+                       "GR-empty",
+                       "GR capability, but empty.",
+                       {
+                               /* hdr */ 0x40, 0x0,
+                       },
+                       2,
+                       SHOULD_ERR,
                },
-               2,
-               SHOULD_PARSE,
-       },
-       {
-               "dyn-old",
-               "Dynamic capability (deprecated version)",
-               {CAPABILITY_CODE_DYNAMIC, 0x0},
-               2,
-               SHOULD_PARSE,
-       },
-       {NULL, NULL, {0}, 0, 0}};
+               {
+                       "MP-empty",
+                       "MP capability, but empty.",
+                       {
+                               /* hdr */ 0x1, 0x0,
+                       },
+                       2,
+                       SHOULD_ERR,
+               },
+               {
+                       "ORF-empty",
+                       "ORF capability, but empty.",
+                       {
+                               /* hdr */ 0x3, 0x0,
+                       },
+                       2,
+                       SHOULD_ERR,
+               },
+               {
+                       "AS4-empty",
+                       "AS4 capability, but empty.",
+                       {
+                               /* hdr */ 0x41, 0x0,
+                       },
+                       2,
+                       SHOULD_ERR,
+               },
+               {
+                       "dyn-empty",
+                       "Dynamic capability, but empty.",
+                       {
+                               /* hdr */ 0x42, 0x0,
+                       },
+                       2,
+                       SHOULD_PARSE,
+               },
+               {
+                       "dyn-old",
+                       "Dynamic capability (deprecated version)",
+                       {CAPABILITY_CODE_DYNAMIC, 0x0},
+                       2,
+                       SHOULD_PARSE,
+               },
+               {NULL, NULL, {0}, 0, 0}};
 
 /* DYNAMIC message */
 struct test_segment dynamic_cap_msgs[] = {
@@ -819,9 +871,9 @@ static void parse_test(struct peer *peer, struct test_segment *t, int type)
                failed++;
 
        if (tty)
-               printf("%s", (failed > oldfailed)
-                                    ? VT100_RED "failed!" VT100_RESET
-                                    : VT100_GREEN "OK" VT100_RESET);
+               printf("%s",
+                      (failed > oldfailed) ? VT100_RED "failed!" VT100_RESET
+                                           : VT100_GREEN "OK" VT100_RESET);
        else
                printf("%s", (failed > oldfailed) ? "failed!" : "OK");