19b645b30Sclaudio struct rde_peer peer = { 29b645b30Sclaudio .conf.local_as = 42, 39b645b30Sclaudio .conf.remote_as = 22512, 49b645b30Sclaudio }; 59b645b30Sclaudio struct rde_peer peer_l4 = { 69b645b30Sclaudio .conf.local_as = 196618, 79b645b30Sclaudio .conf.remote_as = 22512, 89b645b30Sclaudio }; 99b645b30Sclaudio struct rde_peer peer_r4 = { 109b645b30Sclaudio .conf.local_as = 22512, 119b645b30Sclaudio .conf.remote_as = 196618, 129b645b30Sclaudio }; 139b645b30Sclaudio struct rde_peer peer_b4 = { 149b645b30Sclaudio .conf.local_as = 196618, 159b645b30Sclaudio .conf.remote_as = 424242, 169b645b30Sclaudio }; 179b645b30Sclaudio 18ff8ffa77Sclaudio struct vector { 19ff8ffa77Sclaudio uint8_t *data; 20ff8ffa77Sclaudio size_t size; 21*bb45cee6Sclaudio uint8_t *expected; 22*bb45cee6Sclaudio size_t expsize; 23ff8ffa77Sclaudio } vectors[] = { 24ff8ffa77Sclaudio 25ff8ffa77Sclaudio { 26ff8ffa77Sclaudio .data = "\xc0\x08\x04\x00\x00\x48\xce", 27ff8ffa77Sclaudio .size = 7 28ff8ffa77Sclaudio }, 29ff8ffa77Sclaudio { 30ff8ffa77Sclaudio .data = "\xc0\x08\x04\x0f\x10\xc8\x02", 31ff8ffa77Sclaudio .size = 7 32ff8ffa77Sclaudio }, 33ff8ffa77Sclaudio { 34ff8ffa77Sclaudio .data = "\xc0\x08\x04\x3b\xc0\x00\xc9", 35ff8ffa77Sclaudio .size = 7 36ff8ffa77Sclaudio }, 37ff8ffa77Sclaudio { 38ff8ffa77Sclaudio .data = "\xe0\x08\x04\x4e\x97\x00\x03", 39ff8ffa77Sclaudio .size = 7 40ff8ffa77Sclaudio }, 41ff8ffa77Sclaudio { 42ff8ffa77Sclaudio .data = "\xe0\x08\x08\x3b\xc0\x00\xc9\x3b\xc0\x00\xcb", 43ff8ffa77Sclaudio .size = 11 44ff8ffa77Sclaudio }, 45ff8ffa77Sclaudio { 46ff8ffa77Sclaudio .data = "\xc0\x08\x08\x9e\x19\x7a\x44\x9e\x19\x7a\x45", 47ff8ffa77Sclaudio .size = 11 48ff8ffa77Sclaudio }, 49ff8ffa77Sclaudio { 50ff8ffa77Sclaudio .data = "\xc0\x08\x14\x00\x00\x0b\x5a\x00\x00\x3f\x89\x00\x00" 51ff8ffa77Sclaudio "\x3f\x94\x00\x00\x48\xce\x00\x00\xa2\xda", 52ff8ffa77Sclaudio .size = 23 53ff8ffa77Sclaudio }, 54ff8ffa77Sclaudio { 55ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x00\x40", 56ff8ffa77Sclaudio .size = 11 57ff8ffa77Sclaudio }, 58ff8ffa77Sclaudio { 59ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x00\x42", 60ff8ffa77Sclaudio .size = 11 61ff8ffa77Sclaudio }, 62ff8ffa77Sclaudio { 63ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x00\xb2", 64ff8ffa77Sclaudio .size = 11 65ff8ffa77Sclaudio }, 66ff8ffa77Sclaudio { 67ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x00\xd3", 68ff8ffa77Sclaudio .size = 11 69ff8ffa77Sclaudio }, 70ff8ffa77Sclaudio { 71ff8ffa77Sclaudio .data = "\xe0\x10\x08\x00\x02\xfc\x00\x00\x00\x01\x10", 72ff8ffa77Sclaudio .size = 11 73ff8ffa77Sclaudio }, 74ff8ffa77Sclaudio { 75ff8ffa77Sclaudio .data = "\xe0\x10\x08\x00\x02\xfc\x00\x00\x00\x01\x1e", 76ff8ffa77Sclaudio .size = 11 77ff8ffa77Sclaudio }, 78ff8ffa77Sclaudio { 79ff8ffa77Sclaudio .data = "\xe0\x10\x08\x00\x02\xfc\x00\x00\x00\x01\x29", 80ff8ffa77Sclaudio .size = 11 81ff8ffa77Sclaudio }, 82ff8ffa77Sclaudio { 83ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x01\xb6", 84ff8ffa77Sclaudio .size = 11 85ff8ffa77Sclaudio }, 86ff8ffa77Sclaudio { 87ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x01\xe0", 88ff8ffa77Sclaudio .size = 11 89ff8ffa77Sclaudio }, 90ff8ffa77Sclaudio { 91ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x02\x8b", 92ff8ffa77Sclaudio .size = 11 93ff8ffa77Sclaudio }, 94ff8ffa77Sclaudio { 95ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x02\xc5", 96ff8ffa77Sclaudio .size = 11 97ff8ffa77Sclaudio }, 98ff8ffa77Sclaudio { 99ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x03\xc2", 100ff8ffa77Sclaudio .size = 11 101ff8ffa77Sclaudio }, 102ff8ffa77Sclaudio { 103ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x04\x09", 104ff8ffa77Sclaudio .size = 11 105ff8ffa77Sclaudio }, 106ff8ffa77Sclaudio { 107ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x04\xe4", 108ff8ffa77Sclaudio .size = 11 109ff8ffa77Sclaudio }, 110ff8ffa77Sclaudio { 111ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x05\x57", 112ff8ffa77Sclaudio .size = 11 113ff8ffa77Sclaudio }, 114ff8ffa77Sclaudio { 115ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x05\x92", 116ff8ffa77Sclaudio .size = 11 117ff8ffa77Sclaudio }, 118ff8ffa77Sclaudio { 119ff8ffa77Sclaudio .data = "\xc0\x10\x08\x00\x02\xfd\xe8\x00\x00\x2a\xf8", 120ff8ffa77Sclaudio .size = 11 121ff8ffa77Sclaudio }, 122ff8ffa77Sclaudio { 123*bb45cee6Sclaudio .data = "\xc0\x20\x0c\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 124*bb45cee6Sclaudio "\x00\x03", 125*bb45cee6Sclaudio .size = 15 126*bb45cee6Sclaudio }, 127*bb45cee6Sclaudio { 128ff8ffa77Sclaudio .data = "\xc0\x20\x18\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 129ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 130ff8ffa77Sclaudio "\x00\x03", 131ff8ffa77Sclaudio .size = 27 132ff8ffa77Sclaudio }, 133ff8ffa77Sclaudio { 134ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 135ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 136ff8ffa77Sclaudio "\x00\x03\x00\x00\xed\x5f\x00\x00\xed\x5f\x00\x00" 137ff8ffa77Sclaudio "\xed\x5f", 138ff8ffa77Sclaudio .size = 39 139ff8ffa77Sclaudio }, 140ff8ffa77Sclaudio { 141ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 142ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 143ff8ffa77Sclaudio "\x00\x03\x00\x03\x16\x49\x00\x03\x16\x49\x00\x00" 144ff8ffa77Sclaudio "\x00\x64", 145ff8ffa77Sclaudio .size = 39 146ff8ffa77Sclaudio }, 147ff8ffa77Sclaudio { 148ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 149ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 150ff8ffa77Sclaudio "\x00\x03\x00\x03\x16\xa9\x00\x03\x16\xa9\x00\x00" 151ff8ffa77Sclaudio "\x00\x00", 152ff8ffa77Sclaudio .size = 39 153ff8ffa77Sclaudio }, 154ff8ffa77Sclaudio { 155ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 156ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 157ff8ffa77Sclaudio "\x00\x03\x00\x03\x24\x92\x00\x00\x00\x03\x00\x00" 158ff8ffa77Sclaudio "\x00\x01", 159ff8ffa77Sclaudio .size = 39 160ff8ffa77Sclaudio }, 161ff8ffa77Sclaudio { 162ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 163ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 164ff8ffa77Sclaudio "\x00\x03\x00\x03\x25\x4b\x00\x00\x00\xc8\x00\x00" 165ff8ffa77Sclaudio "\x00\x00", 166ff8ffa77Sclaudio .size = 39 167ff8ffa77Sclaudio }, 168ff8ffa77Sclaudio { 169ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 170ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 171ff8ffa77Sclaudio "\x00\x03\x00\x03\x26\x8f\x00\x00\x01\x2c\x00\x00" 172ff8ffa77Sclaudio "\x00\x00", 173ff8ffa77Sclaudio .size = 39 174ff8ffa77Sclaudio }, 175ff8ffa77Sclaudio { 176ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 177ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 178ff8ffa77Sclaudio "\x00\x03\x00\x03\x26\xa3\x00\x00\x02\x58\x00\x03" 179ff8ffa77Sclaudio "\x26\xa3", 180ff8ffa77Sclaudio .size = 39 181ff8ffa77Sclaudio }, 182ff8ffa77Sclaudio { 183ff8ffa77Sclaudio .data = "\xe0\x20\x24\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 184ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 185ff8ffa77Sclaudio "\x00\x03\x00\x03\x33\xc8\x00\x00\x07\xd0\x00\x00" 186ff8ffa77Sclaudio "\x00\x1e", 187ff8ffa77Sclaudio .size = 39 188ff8ffa77Sclaudio }, 189ff8ffa77Sclaudio { 190ff8ffa77Sclaudio .data = "\xe0\x20\x30\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 191ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 192ff8ffa77Sclaudio "\x00\x03\x00\x00\xdf\x1e\x00\x00\x00\x1e\x00\x00" 193ff8ffa77Sclaudio "\x00\x00\x00\x00\xdf\x1e\x00\x00\x00\x1e\x00\x00" 194ff8ffa77Sclaudio "\x00\x0a", 195ff8ffa77Sclaudio .size = 51 196ff8ffa77Sclaudio }, 197ff8ffa77Sclaudio { 198ff8ffa77Sclaudio .data = "\xe0\x20\x30\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 199ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 200ff8ffa77Sclaudio "\x00\x03\x00\x03\x1c\xe3\x00\x00\x00\x01\x00\x00" 201ff8ffa77Sclaudio "\x00\x00\x00\x03\x1c\xe3\x00\x00\x00\x01\x00\x00" 202ff8ffa77Sclaudio "\x00\x02", 203ff8ffa77Sclaudio .size = 51 204ff8ffa77Sclaudio }, 205ff8ffa77Sclaudio { 206ff8ffa77Sclaudio .data = "\xe0\x20\x30\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 207ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 208ff8ffa77Sclaudio "\x00\x03\x00\x03\x26\xa3\x00\x00\x02\x58\x00\x03" 209ff8ffa77Sclaudio "\x26\xa3\x00\x03\x26\xa3\x00\x03\x26\xa3\x00\x00" 210ff8ffa77Sclaudio "\x00\xc8", 211ff8ffa77Sclaudio .size = 51 212ff8ffa77Sclaudio }, 213ff8ffa77Sclaudio { 214ff8ffa77Sclaudio .data = "\xe0\x20\x30\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 215ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 216ff8ffa77Sclaudio "\x00\x03\x00\x03\x27\xdd\x00\x00\x00\x00\x00\x00" 217ff8ffa77Sclaudio "\x00\x00\x00\x03\x27\xdd\x00\x00\x00\x00\x00\x00" 218ff8ffa77Sclaudio "\x23\x49", 219ff8ffa77Sclaudio .size = 51 220ff8ffa77Sclaudio }, 221ff8ffa77Sclaudio { 222ff8ffa77Sclaudio .data = "\xe0\x20\x30\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 223ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 224ff8ffa77Sclaudio "\x00\x03\x00\x03\x27\xdd\x00\x00\x00\x00\x00\x00" 225ff8ffa77Sclaudio "\x00\x00\x00\x03\x27\xdd\x00\x00\x00\x00\x00\x00" 226ff8ffa77Sclaudio "\xc2\x51", 227ff8ffa77Sclaudio .size = 51 228ff8ffa77Sclaudio }, 229ff8ffa77Sclaudio { 230ff8ffa77Sclaudio .data = "\xe0\x20\x30\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 231ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 232ff8ffa77Sclaudio "\x00\x03\x00\x03\x28\xe8\x00\x00\x00\x00\x00\x00" 233ff8ffa77Sclaudio "\x00\x00\x00\x03\x28\xe8\x00\x00\x00\x01\x00\x00" 234ff8ffa77Sclaudio "\x00\x00", 235ff8ffa77Sclaudio .size = 51 236ff8ffa77Sclaudio }, 237ff8ffa77Sclaudio { 238ff8ffa77Sclaudio .data = "\xe0\x20\x3c\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 239ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 240ff8ffa77Sclaudio "\x00\x03\x00\x02\x1a\xcd\x00\x00\xfc\x00\x00\x00" 241ff8ffa77Sclaudio "\x00\x0b\x00\x02\x1a\xcd\x00\x00\xfc\x00\x00\x00" 242ff8ffa77Sclaudio "\x00\x15\x00\x02\x1a\xcd\x00\x00\xff\xed\x00\x00" 243ff8ffa77Sclaudio "\x00\x01", 244ff8ffa77Sclaudio .size = 63 245ff8ffa77Sclaudio }, 246ff8ffa77Sclaudio { 247ff8ffa77Sclaudio .data = "\xe0\x20\x3c\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 248ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 249ff8ffa77Sclaudio "\x00\x03\x00\x03\x16\xa9\x00\x00\x00\x00\x00\x03" 250ff8ffa77Sclaudio "\x35\x3a\x00\x03\x16\xa9\x00\x03\x16\xa9\x00\x00" 251ff8ffa77Sclaudio "\x00\x00\x00\x03\x26\xa3\x00\x03\x26\xa3\x00\x00" 252ff8ffa77Sclaudio "\x03\x84", 253ff8ffa77Sclaudio .size = 63 254ff8ffa77Sclaudio }, 255ff8ffa77Sclaudio { 256ff8ffa77Sclaudio .data = "\xe0\x20\x3c\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 257ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 258ff8ffa77Sclaudio "\x00\x03\x00\x03\x16\xa9\x00\x03\x16\xa9\x00\x03" 259ff8ffa77Sclaudio "\x16\xa9\x00\x03\x26\xa3\x00\x00\x01\x2c\x00\x00" 260ff8ffa77Sclaudio "\x03\xe7\x00\x03\x26\xa3\x00\x00\x02\x58\x00\x03" 261ff8ffa77Sclaudio "\x26\xa3", 262ff8ffa77Sclaudio .size = 63 263ff8ffa77Sclaudio }, 264ff8ffa77Sclaudio { 265ff8ffa77Sclaudio .data = "\xe0\x20\xb4\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 266ff8ffa77Sclaudio "\x00\x01\x00\x00\xd0\x5b\x00\x00\x00\x0b\x00\x00" 267ff8ffa77Sclaudio "\x00\x03\x00\x03\x22\xd3\x00\x00\x00\x0a\x00\x00" 268ff8ffa77Sclaudio "\x00\x0a\x00\x03\x22\xd3\x00\x00\x00\x0a\x00\x00" 269ff8ffa77Sclaudio "\x00\xc9\x00\x03\x22\xd3\x00\x00\x00\x0a\x00\x00" 270ff8ffa77Sclaudio "\x00\xca\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 271ff8ffa77Sclaudio "\x00\x0b\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 272ff8ffa77Sclaudio "\x00\x64\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 273ff8ffa77Sclaudio "\x00\x65\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 274ff8ffa77Sclaudio "\x00\x66\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 275ff8ffa77Sclaudio "\x00\x67\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 276ff8ffa77Sclaudio "\x00\x68\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 277ff8ffa77Sclaudio "\x00\xc8\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 278ff8ffa77Sclaudio "\x00\xcf\x00\x03\x22\xd3\x00\x00\x00\x14\x00\x00" 279ff8ffa77Sclaudio "\x00\xd0\x00\x03\x22\xd3\x00\x00\x00\x79\x00\x00" 280ff8ffa77Sclaudio "\x00\x00", 281ff8ffa77Sclaudio .size = 183 282*bb45cee6Sclaudio }, 283*bb45cee6Sclaudio { 284*bb45cee6Sclaudio .data = "\xc0\x10\x08\x43\x00\x00\x00\x00\x00\x00\x02", 285*bb45cee6Sclaudio .size = 11, 286*bb45cee6Sclaudio .expected = "", 287*bb45cee6Sclaudio .expsize = 0, 288*bb45cee6Sclaudio }, 289*bb45cee6Sclaudio { 290*bb45cee6Sclaudio .data = "\xc0\x10\x10\x00\x02\xfc\x00\x00\x00\x00\x40" 291*bb45cee6Sclaudio "\x43\x00\x00\x00\x00\x00\x00\x02", 292*bb45cee6Sclaudio .size = 19, 293*bb45cee6Sclaudio .expected = "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x00\x40", 294*bb45cee6Sclaudio .expsize = 11, 295*bb45cee6Sclaudio }, 296*bb45cee6Sclaudio { 297*bb45cee6Sclaudio .data = "\xc0\x10\x18\x00\x02\xfc\x00\x00\x00\x00\x40" 298*bb45cee6Sclaudio "\x43\x00\x00\x00\x00\x00\x00\x02" 299*bb45cee6Sclaudio "\x06\x00\x00\x00\x00\x00\x00\x01", 300*bb45cee6Sclaudio .size = 27, 301*bb45cee6Sclaudio .expected = "\xc0\x10\x10\x06\x00\x00\x00\x00\x00\x00\x01" 302*bb45cee6Sclaudio "\x00\x02\xfc\x00\x00\x00\x00\x40", 303*bb45cee6Sclaudio .expsize = 19, 304*bb45cee6Sclaudio }, 305*bb45cee6Sclaudio { 306*bb45cee6Sclaudio .data = "\xe0\x08\x04\x4e\x97\x00\x03" 307*bb45cee6Sclaudio "\xc0\x10\x08\x43\x00\x00\x00\x00\x00\x00\x02", 308*bb45cee6Sclaudio .size = 7 + 11, 309*bb45cee6Sclaudio .expected = "\xe0\x08\x04\x4e\x97\x00\x03", 310*bb45cee6Sclaudio .expsize = 7, 311*bb45cee6Sclaudio }, 312*bb45cee6Sclaudio { 313*bb45cee6Sclaudio .data = "\xe0\x08\x04\x4e\x97\x00\x03" 314*bb45cee6Sclaudio "\xc0\x10\x10\x00\x02\xfc\x00\x00\x00\x00\x40" 315*bb45cee6Sclaudio "\x43\x00\x00\x00\x00\x00\x00\x02", 316*bb45cee6Sclaudio .size = 7 + 19, 317*bb45cee6Sclaudio .expected = "\xe0\x08\x04\x4e\x97\x00\x03" 318*bb45cee6Sclaudio "\xc0\x10\x08\x00\x02\xfc\x00\x00\x00\x00\x40", 319*bb45cee6Sclaudio .expsize = 7 + 11, 320*bb45cee6Sclaudio }, 321*bb45cee6Sclaudio { 322*bb45cee6Sclaudio .data = "\xc0\x10\x08\x43\x00\x00\x00\x00\x00\x00\x02" 323*bb45cee6Sclaudio "\xc0\x20\x0c\x00\x00\xd0\x5b\x00\x00\x00\x0b" 324*bb45cee6Sclaudio "\x00\x00\x00\x03", 325*bb45cee6Sclaudio .size = 11 + 15, 326*bb45cee6Sclaudio .expected = "\xc0\x20\x0c\x00\x00\xd0\x5b\x00\x00\x00\x0b" 327*bb45cee6Sclaudio "\x00\x00\x00\x03", 328*bb45cee6Sclaudio .expsize = 15, 329*bb45cee6Sclaudio }, 330*bb45cee6Sclaudio { 331*bb45cee6Sclaudio .data = "\xe0\x08\x04\x4e\x97\x00\x03" 332*bb45cee6Sclaudio "\xc0\x10\x08\x43\x00\x00\x00\x00\x00\x00\x02" 333*bb45cee6Sclaudio "\xc0\x20\x0c\x00\x00\xd0\x5b\x00\x00\x00\x0b" 334*bb45cee6Sclaudio "\x00\x00\x00\x03", 335*bb45cee6Sclaudio .size = 7 + 11 + 15, 336*bb45cee6Sclaudio .expected = "\xe0\x08\x04\x4e\x97\x00\x03" 337*bb45cee6Sclaudio "\xc0\x20\x0c\x00\x00\xd0\x5b\x00\x00\x00\x0b" 338*bb45cee6Sclaudio "\x00\x00\x00\x03", 339*bb45cee6Sclaudio .expsize = 7 + 15, 340*bb45cee6Sclaudio }, 341ff8ffa77Sclaudio }; 342ff8ffa77Sclaudio 343ff8ffa77Sclaudio struct community filters[] = { 344ff8ffa77Sclaudio { /* 0 */ 345ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 346ff8ffa77Sclaudio .data1 = COMMUNITY_WELLKNOWN, 347ff8ffa77Sclaudio .data2 = COMMUNITY_NO_ADVERTISE 348ff8ffa77Sclaudio }, 349ff8ffa77Sclaudio { /* 1 */ 350ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 351ff8ffa77Sclaudio .data1 = COMMUNITY_WELLKNOWN, 352ff8ffa77Sclaudio .data2 = COMMUNITY_NO_EXPORT 353ff8ffa77Sclaudio }, 354ff8ffa77Sclaudio { /* 2 */ 355ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 356ff8ffa77Sclaudio .data1 = COMMUNITY_WELLKNOWN, 357ff8ffa77Sclaudio .data2 = COMMUNITY_NO_EXPSUBCONFED 358ff8ffa77Sclaudio }, 359ff8ffa77Sclaudio { /* 3 */ 360ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 361ff8ffa77Sclaudio .data1 = 22512, 362ff8ffa77Sclaudio .data2 = 1 363ff8ffa77Sclaudio }, 364ff8ffa77Sclaudio { /* 4 */ 365ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 366ff8ffa77Sclaudio .data1 = 22512, 367ff8ffa77Sclaudio .data2 = 42 368ff8ffa77Sclaudio }, 369ff8ffa77Sclaudio { /* 5 */ 370ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 371ff8ffa77Sclaudio .data1 = 22512, 372ff8ffa77Sclaudio .data2 = 65366 373ff8ffa77Sclaudio }, 374ff8ffa77Sclaudio { /* 6 */ 375ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 376ff8ffa77Sclaudio .data1 = 1, 377ff8ffa77Sclaudio .data2 = 22512 378ff8ffa77Sclaudio }, 379ff8ffa77Sclaudio { /* 7 */ 380ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 381ff8ffa77Sclaudio .data1 = 42, 382ff8ffa77Sclaudio .data2 = 22512 383ff8ffa77Sclaudio }, 384ff8ffa77Sclaudio { /* 8 */ 385ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC, 386ff8ffa77Sclaudio .data1 = 65366, 387ff8ffa77Sclaudio .data2 = 22512 388ff8ffa77Sclaudio }, 389ff8ffa77Sclaudio { /* 9 */ 390ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 391ff8ffa77Sclaudio .data1 = 22512, 392ff8ffa77Sclaudio .data2 = 22512, 393ff8ffa77Sclaudio .data3 = 22512 394ff8ffa77Sclaudio }, 395ff8ffa77Sclaudio { /* 10 */ 396ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 397ff8ffa77Sclaudio .data1 = 22512, 398ff8ffa77Sclaudio .data2 = 42, 399ff8ffa77Sclaudio .data3 = 22512 400ff8ffa77Sclaudio }, 401ff8ffa77Sclaudio { /* 11 */ 402ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 403ff8ffa77Sclaudio .data1 = 22512, 404ff8ffa77Sclaudio .data2 = 42, 405ff8ffa77Sclaudio .data3 = 42 406ff8ffa77Sclaudio }, 407ff8ffa77Sclaudio { /* 12 */ 408ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 409ff8ffa77Sclaudio .data1 = 42, 410ff8ffa77Sclaudio .data2 = 22512, 411ff8ffa77Sclaudio .data3 = 22512 412ff8ffa77Sclaudio }, 413ff8ffa77Sclaudio { /* 13 */ 414ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 415ff8ffa77Sclaudio .data1 = 42, 416ff8ffa77Sclaudio .data2 = 42, 417ff8ffa77Sclaudio .data3 = 22512 418ff8ffa77Sclaudio }, 419ff8ffa77Sclaudio { /* 14 */ 420ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 421ff8ffa77Sclaudio .data1 = 42, 422ff8ffa77Sclaudio .data2 = 22512, 423ff8ffa77Sclaudio .data3 = 42 424ff8ffa77Sclaudio }, 425ff8ffa77Sclaudio { /* 15 */ 426ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 427ff8ffa77Sclaudio .data1 = 65366, 428ff8ffa77Sclaudio .data2 = 22512, 429ff8ffa77Sclaudio .data3 = 22512 430ff8ffa77Sclaudio }, 431ff8ffa77Sclaudio { /* 16 */ 432ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 433ff8ffa77Sclaudio .data1 = 22512, 434ff8ffa77Sclaudio .data2 = 65366, 435ff8ffa77Sclaudio .data3 = 22512 436ff8ffa77Sclaudio }, 437ff8ffa77Sclaudio { /* 17 */ 438ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 439ff8ffa77Sclaudio .data1 = 22512, 440ff8ffa77Sclaudio .data2 = 65366, 441ff8ffa77Sclaudio .data3 = 65366 442ff8ffa77Sclaudio }, 443ff8ffa77Sclaudio { /* 18 */ 444ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 445ff8ffa77Sclaudio .data1 = 42, 446ff8ffa77Sclaudio .data2 = 42, 447ff8ffa77Sclaudio .data3 = 42 448ff8ffa77Sclaudio }, 449ff8ffa77Sclaudio { /* 19 */ 450ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE, 451ff8ffa77Sclaudio .data1 = 65366, 452ff8ffa77Sclaudio .data2 = 65366, 453ff8ffa77Sclaudio .data3 = 65366 454ff8ffa77Sclaudio }, 455ff8ffa77Sclaudio { /* 20 */ 456ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC | (COMMUNITY_ANY << 16), 457ff8ffa77Sclaudio .data1 = COMMUNITY_WELLKNOWN, 458ff8ffa77Sclaudio }, 459ff8ffa77Sclaudio { /* 21 */ 460ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC | (COMMUNITY_ANY << 16), 461ff8ffa77Sclaudio .data1 = 22512, 462ff8ffa77Sclaudio }, 463ff8ffa77Sclaudio { /* 22 */ 464ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_BASIC | (COMMUNITY_ANY << 8), 465ff8ffa77Sclaudio .data2 = 22512 466ff8ffa77Sclaudio }, 467ff8ffa77Sclaudio { /* 23 */ 468ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE | (COMMUNITY_ANY << 8) | 469ff8ffa77Sclaudio (COMMUNITY_ANY << 16) | (COMMUNITY_ANY << 24), 470ff8ffa77Sclaudio }, 471ff8ffa77Sclaudio { /* 24 */ 472ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_LARGE | (COMMUNITY_ANY << 16) | 473ff8ffa77Sclaudio (COMMUNITY_ANY << 24), 474ff8ffa77Sclaudio .data1 = 22512, 475ff8ffa77Sclaudio }, 476ff8ffa77Sclaudio { /* 25 */ 477ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_EXT, 478ff8ffa77Sclaudio .data3 = EXT_COMMUNITY_TRANS_TWO_AS << 8 | 0x02, 479ff8ffa77Sclaudio .data1 = 22512, 480ff8ffa77Sclaudio .data2 = 42, 481ff8ffa77Sclaudio }, 482ff8ffa77Sclaudio { /* 26 */ 483ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_EXT, 484ff8ffa77Sclaudio .data3 = EXT_COMMUNITY_TRANS_FOUR_AS << 8 | 0x02, 485ff8ffa77Sclaudio .data1 = 22512, 486ff8ffa77Sclaudio .data2 = 42, 487ff8ffa77Sclaudio }, 488ff8ffa77Sclaudio { /* 27 */ 489ff8ffa77Sclaudio .flags = COMMUNITY_TYPE_EXT, 490ff8ffa77Sclaudio .data3 = EXT_COMMUNITY_TRANS_FOUR_AS << 8 | 0x02, 491ff8ffa77Sclaudio .data1 = 22512, 492ff8ffa77Sclaudio .data2 = 15, 493ff8ffa77Sclaudio }, 4949b645b30Sclaudio { /* 28 */ 4959b645b30Sclaudio .flags = COMMUNITY_TYPE_BASIC | (COMMUNITY_LOCAL_AS << 8) | 4969b645b30Sclaudio (COMMUNITY_NEIGHBOR_AS << 16), 4979b645b30Sclaudio }, 4989b645b30Sclaudio { /* 29 */ 4999b645b30Sclaudio .flags = COMMUNITY_TYPE_LARGE | (COMMUNITY_LOCAL_AS << 8) | 5009b645b30Sclaudio (COMMUNITY_NEIGHBOR_AS << 24), 5019b645b30Sclaudio }, 5029b645b30Sclaudio { /* 30 */ 5039b645b30Sclaudio .flags = COMMUNITY_TYPE_EXT | (COMMUNITY_LOCAL_AS << 8) | 5049b645b30Sclaudio (COMMUNITY_NEIGHBOR_AS << 16), 5059b645b30Sclaudio .data3 = EXT_COMMUNITY_TRANS_TWO_AS << 8 | 0x02, 5069b645b30Sclaudio }, 5079b645b30Sclaudio { /* 31 */ 5089b645b30Sclaudio .flags = COMMUNITY_TYPE_BASIC, 5099b645b30Sclaudio .data1 = 42, 5109b645b30Sclaudio .data2 = 22512, 5119b645b30Sclaudio }, 5129b645b30Sclaudio { /* 32 */ 5139b645b30Sclaudio .flags = COMMUNITY_TYPE_BASIC, 5149b645b30Sclaudio .data1 = 65366, 5159b645b30Sclaudio .data2 = 22512, 5169b645b30Sclaudio }, 5179b645b30Sclaudio { /* 33 */ 5189b645b30Sclaudio .flags = COMMUNITY_TYPE_BASIC, 5199b645b30Sclaudio .data1 = 42, 5209b645b30Sclaudio .data2 = 65366, 5219b645b30Sclaudio }, 5229b645b30Sclaudio { /* 34 */ 5239b645b30Sclaudio .flags = COMMUNITY_TYPE_LARGE, 5249b645b30Sclaudio .data1 = 42, 5259b645b30Sclaudio .data2 = 0, 5269b645b30Sclaudio .data3 = 22512, 5279b645b30Sclaudio }, 5289b645b30Sclaudio { /* 35 */ 5299b645b30Sclaudio .flags = COMMUNITY_TYPE_LARGE, 5309b645b30Sclaudio .data1 = 196618, 5319b645b30Sclaudio .data2 = 0, 5329b645b30Sclaudio .data3 = 22512, 5339b645b30Sclaudio }, 5349b645b30Sclaudio { /* 36 */ 5359b645b30Sclaudio .flags = COMMUNITY_TYPE_LARGE, 5369b645b30Sclaudio .data1 = 22512, 5379b645b30Sclaudio .data2 = 0, 5389b645b30Sclaudio .data3 = 196618, 5399b645b30Sclaudio }, 5409b645b30Sclaudio { /* 37 */ 5419b645b30Sclaudio .flags = COMMUNITY_TYPE_LARGE, 5429b645b30Sclaudio .data1 = 196618, 5439b645b30Sclaudio .data2 = 0, 5449b645b30Sclaudio .data3 = 424242, 5459b645b30Sclaudio }, 5469b645b30Sclaudio { /* 38 */ 5479b645b30Sclaudio .flags = COMMUNITY_TYPE_EXT, 5489b645b30Sclaudio .data1 = 42, 5499b645b30Sclaudio .data2 = 22512, 5509b645b30Sclaudio .data3 = EXT_COMMUNITY_TRANS_TWO_AS << 8 | 0x02, 5519b645b30Sclaudio }, 5529b645b30Sclaudio { /* 39 */ 5539b645b30Sclaudio .flags = COMMUNITY_TYPE_EXT, 5549b645b30Sclaudio .data1 = 42, 5559b645b30Sclaudio .data2 = 22512, 5569b645b30Sclaudio .data3 = EXT_COMMUNITY_TRANS_FOUR_AS << 8 | 0x02, 5579b645b30Sclaudio }, 5589b645b30Sclaudio { /* 40 */ 5599b645b30Sclaudio .flags = COMMUNITY_TYPE_EXT, 5609b645b30Sclaudio .data1 = 196618, 5619b645b30Sclaudio .data2 = 22512, 5629b645b30Sclaudio .data3 = EXT_COMMUNITY_TRANS_FOUR_AS << 8 | 0x02, 5639b645b30Sclaudio }, 5649b645b30Sclaudio { /* 41 */ 5659b645b30Sclaudio .flags = COMMUNITY_TYPE_EXT, 5669b645b30Sclaudio .data1 = 22512, 5679b645b30Sclaudio .data2 = 196618, 5689b645b30Sclaudio .data3 = EXT_COMMUNITY_TRANS_TWO_AS << 8 | 0x02, 5699b645b30Sclaudio }, 570000e30a8Sclaudio { /* 42 */ 571000e30a8Sclaudio .flags = COMMUNITY_TYPE_EXT | (COMMUNITY_ANY << 24), 572000e30a8Sclaudio }, 573000e30a8Sclaudio { /* 43 */ 574000e30a8Sclaudio .flags = COMMUNITY_TYPE_EXT | (COMMUNITY_ANY << 8), 575000e30a8Sclaudio .data3 = (-1 << 8) | 0x02, 576000e30a8Sclaudio }, 577000e30a8Sclaudio { /* 44 */ 578000e30a8Sclaudio .flags = COMMUNITY_TYPE_EXT | (COMMUNITY_ANY << 8), 579000e30a8Sclaudio .data3 = EXT_COMMUNITY_TRANS_FOUR_AS << 8 | 0x02, 580000e30a8Sclaudio }, 581000e30a8Sclaudio { /* 45 */ 582000e30a8Sclaudio .flags = COMMUNITY_TYPE_EXT | (COMMUNITY_ANY << 16), 583000e30a8Sclaudio .data3 = EXT_COMMUNITY_TRANS_FOUR_AS << 8 | 0x02, 584000e30a8Sclaudio .data1 = 196618, 585000e30a8Sclaudio }, 586ff8ffa77Sclaudio }; 587ff8ffa77Sclaudio 588ff8ffa77Sclaudio struct testfilter { 5899b645b30Sclaudio int in[8]; 5909b645b30Sclaudio int delete; 5919b645b30Sclaudio int match; 592ff8ffa77Sclaudio int mout; 5936eadef58Sclaudio int ncomm; 5946eadef58Sclaudio int next; 5956eadef58Sclaudio int nlarge; 5969b645b30Sclaudio struct rde_peer *peer; 597ff8ffa77Sclaudio } testfilters[] = { 598ff8ffa77Sclaudio { 599ff8ffa77Sclaudio .in = { 1, 2, -1 }, 600ff8ffa77Sclaudio .match = 1, 601ff8ffa77Sclaudio .mout = 1, 602ff8ffa77Sclaudio .delete = 1, 603ff8ffa77Sclaudio }, 604ff8ffa77Sclaudio { 605ff8ffa77Sclaudio .in = { 1, 2, -1 }, 606ff8ffa77Sclaudio .match = 2, 607ff8ffa77Sclaudio .mout = 1, 608ff8ffa77Sclaudio .delete = 2, 609ff8ffa77Sclaudio }, 610ff8ffa77Sclaudio { 611ff8ffa77Sclaudio .in = { 1, 2, -1 }, 612ff8ffa77Sclaudio .match = 20, 613ff8ffa77Sclaudio .mout = 1, 614ff8ffa77Sclaudio .delete = 20, 615ff8ffa77Sclaudio }, 616ff8ffa77Sclaudio { 617ff8ffa77Sclaudio .in = { 1, 2, 1, 2, -1 }, 618ff8ffa77Sclaudio .match = 5, 619ff8ffa77Sclaudio .mout = 0, 620ff8ffa77Sclaudio .delete = 5, 621ff8ffa77Sclaudio }, 622ff8ffa77Sclaudio { 623ff8ffa77Sclaudio .in = { 3, 4, 5, 6, 7, 8, -1 }, 624ff8ffa77Sclaudio .match = 5, 625ff8ffa77Sclaudio .mout = 1, 626ff8ffa77Sclaudio .delete = 5, 627ff8ffa77Sclaudio }, 628ff8ffa77Sclaudio { /* 5 */ 629ff8ffa77Sclaudio .in = { 3, 4, 5, 6, 7, 8, -1 }, 630ff8ffa77Sclaudio .match = 20, 631ff8ffa77Sclaudio .mout = 0, 632ff8ffa77Sclaudio .delete = -1, 633ff8ffa77Sclaudio }, 634ff8ffa77Sclaudio { 635ff8ffa77Sclaudio .in = { 3, 4, 5, 6, 7, 8, -1 }, 636ff8ffa77Sclaudio .match = 21, 637ff8ffa77Sclaudio .mout = 1, 638ff8ffa77Sclaudio .delete = 21, 639ff8ffa77Sclaudio }, 640ff8ffa77Sclaudio { 641ff8ffa77Sclaudio .in = { 3, 4, 5, 6, 7, 8, -1 }, 642ff8ffa77Sclaudio .match = 22, 643ff8ffa77Sclaudio .mout = 1, 644ff8ffa77Sclaudio .delete = 22, 645ff8ffa77Sclaudio }, 646ff8ffa77Sclaudio { 647ff8ffa77Sclaudio .in = { 17, 18, 19, -1 }, 648ff8ffa77Sclaudio .match = 22, 649ff8ffa77Sclaudio .mout = 0, 650ff8ffa77Sclaudio .delete = 17, 651ff8ffa77Sclaudio }, 652ff8ffa77Sclaudio { 653ff8ffa77Sclaudio .in = { 17, 18, 19, 7, 8, -1 }, 654ff8ffa77Sclaudio .match = 18, 655ff8ffa77Sclaudio .mout = 1, 656ff8ffa77Sclaudio .delete = 19, 657ff8ffa77Sclaudio }, 658ff8ffa77Sclaudio { /* 10 */ 659ff8ffa77Sclaudio .in = { 1, 3, 5, -1 }, 660ff8ffa77Sclaudio .match = 23, 661ff8ffa77Sclaudio .mout = 0, 662ff8ffa77Sclaudio .delete = -1, 663ff8ffa77Sclaudio }, 664ff8ffa77Sclaudio { 665ff8ffa77Sclaudio .in = { 1, 3, 5, 17, -1 }, 666ff8ffa77Sclaudio .match = 23, 667ff8ffa77Sclaudio .mout = 1, 668ff8ffa77Sclaudio .delete = 23, 669ff8ffa77Sclaudio }, 670ff8ffa77Sclaudio { 671ff8ffa77Sclaudio .in = { 1, 3, 5, 19, -1 }, 672ff8ffa77Sclaudio .match = 24, 673ff8ffa77Sclaudio .mout = 0, 674ff8ffa77Sclaudio .delete = -1, 675ff8ffa77Sclaudio }, 676ff8ffa77Sclaudio { 677ff8ffa77Sclaudio .in = { 19, 18, 17, -1 }, 678ff8ffa77Sclaudio .match = 24, 679ff8ffa77Sclaudio .mout = 1, 680ff8ffa77Sclaudio .delete = 24, 681ff8ffa77Sclaudio }, 682ff8ffa77Sclaudio { 683ff8ffa77Sclaudio .in = { 25, 26, -1 }, 684ff8ffa77Sclaudio .match = 25, 685ff8ffa77Sclaudio .mout = 1, 686ff8ffa77Sclaudio .delete = 25, 687ff8ffa77Sclaudio }, 688ff8ffa77Sclaudio { /* 15 */ 689ff8ffa77Sclaudio .in = { 25, 26, -1 }, 690ff8ffa77Sclaudio .match = 26, 691ff8ffa77Sclaudio .mout = 1, 692ff8ffa77Sclaudio .delete = 26, 693ff8ffa77Sclaudio }, 694ff8ffa77Sclaudio { 695ff8ffa77Sclaudio .in = { 17, 0, -1 }, 696ff8ffa77Sclaudio .match = 0, 697ff8ffa77Sclaudio .mout = 1, 698ff8ffa77Sclaudio .delete = 0, 699ff8ffa77Sclaudio }, 7006eadef58Sclaudio { 7016eadef58Sclaudio .in = { -1 }, 7026eadef58Sclaudio .match = 21, 7036eadef58Sclaudio .mout = 0, 7046eadef58Sclaudio .delete = -1, 7056eadef58Sclaudio .ncomm = 0 + 1, 7066eadef58Sclaudio .next = 0 + 1, 7076eadef58Sclaudio .nlarge = 0 + 1, 7086eadef58Sclaudio }, 7096eadef58Sclaudio { 7106eadef58Sclaudio .in = { 0, 3, 6, -1 }, 7116eadef58Sclaudio .match = -1, 7126eadef58Sclaudio .delete = -1, 7136eadef58Sclaudio .ncomm = 3 + 1, 7146eadef58Sclaudio .next = 0 + 1, 7156eadef58Sclaudio .nlarge = 0 + 1, 7166eadef58Sclaudio }, 7176eadef58Sclaudio { 7186eadef58Sclaudio .in = { 0, 25, 26, 19, -1 }, 7196eadef58Sclaudio .match = -1, 7206eadef58Sclaudio .delete = -1, 7216eadef58Sclaudio .ncomm = 1 + 1, 7226eadef58Sclaudio .next = 2 + 1, 7236eadef58Sclaudio .nlarge = 1 + 1, 7246eadef58Sclaudio }, 7256eadef58Sclaudio { /* 20 */ 7266eadef58Sclaudio .in = { 0, 10, 26, -1 }, 7276eadef58Sclaudio .match = -1, 7286eadef58Sclaudio .delete = -1, 7296eadef58Sclaudio .ncomm = 1 + 1, 7306eadef58Sclaudio .next = 1 + 1, 7316eadef58Sclaudio .nlarge = 1 + 1, 7326eadef58Sclaudio }, 7339b645b30Sclaudio { 7349b645b30Sclaudio .in = { 28, -1 }, 7359b645b30Sclaudio .match = 28, 7369b645b30Sclaudio .mout = 1, 7379b645b30Sclaudio .delete = 28, 7389b645b30Sclaudio .peer = &peer, 7399b645b30Sclaudio }, 7409b645b30Sclaudio { 7419b645b30Sclaudio .in = { 31, -1 }, 7429b645b30Sclaudio .match = 28, 7439b645b30Sclaudio .mout = 1, 7449b645b30Sclaudio .delete = 28, 7459b645b30Sclaudio .peer = &peer, 7469b645b30Sclaudio }, 7479b645b30Sclaudio { 7489b645b30Sclaudio .in = { 31, -1 }, 7499b645b30Sclaudio .match = 28, 7509b645b30Sclaudio .mout = 0, 7519b645b30Sclaudio .peer = &peer_l4, 7529b645b30Sclaudio }, 7539b645b30Sclaudio { 7549b645b30Sclaudio .in = { 31, -1 }, 7559b645b30Sclaudio .match = 28, 7569b645b30Sclaudio .mout = 0, 7579b645b30Sclaudio .peer = &peer_r4, 7589b645b30Sclaudio }, 7599b645b30Sclaudio { /* 25 */ 7609b645b30Sclaudio .in = { 31, -1 }, 7619b645b30Sclaudio .match = 28, 7629b645b30Sclaudio .mout = 0, 7639b645b30Sclaudio .peer = &peer_b4, 7649b645b30Sclaudio }, 7659b645b30Sclaudio { 7669b645b30Sclaudio .in = { 32, -1 }, 7679b645b30Sclaudio .match = 28, 7689b645b30Sclaudio .mout = 0, 7699b645b30Sclaudio .peer = &peer, 7709b645b30Sclaudio }, 7719b645b30Sclaudio { 7729b645b30Sclaudio .in = { 32, -1 }, 7739b645b30Sclaudio .match = 28, 7749b645b30Sclaudio .mout = 0, 7759b645b30Sclaudio .peer = &peer_l4, 7769b645b30Sclaudio }, 7779b645b30Sclaudio { 7789b645b30Sclaudio .in = { 32, -1 }, 7799b645b30Sclaudio .match = 28, 7809b645b30Sclaudio .mout = 0, 7819b645b30Sclaudio .peer = &peer_r4, 7829b645b30Sclaudio }, 7839b645b30Sclaudio { 7849b645b30Sclaudio .in = { 32, -1 }, 7859b645b30Sclaudio .match = 28, 7869b645b30Sclaudio .mout = 0, 7879b645b30Sclaudio .peer = &peer_b4, 7889b645b30Sclaudio }, 7899b645b30Sclaudio { /* 30 */ 7909b645b30Sclaudio .in = { 33, -1 }, 7919b645b30Sclaudio .match = 28, 7929b645b30Sclaudio .mout = 0, 7939b645b30Sclaudio .peer = &peer, 7949b645b30Sclaudio }, 7959b645b30Sclaudio { 7969b645b30Sclaudio .in = { 33, -1 }, 7979b645b30Sclaudio .match = 28, 7989b645b30Sclaudio .mout = 0, 7999b645b30Sclaudio .peer = &peer_l4, 8009b645b30Sclaudio }, 8019b645b30Sclaudio { 8029b645b30Sclaudio .in = { 33, -1 }, 8039b645b30Sclaudio .match = 28, 8049b645b30Sclaudio .mout = 0, 8059b645b30Sclaudio .peer = &peer_r4, 8069b645b30Sclaudio }, 8079b645b30Sclaudio { 8089b645b30Sclaudio .in = { 33, -1 }, 8099b645b30Sclaudio .match = 28, 8109b645b30Sclaudio .mout = 0, 8119b645b30Sclaudio .peer = &peer_b4, 8129b645b30Sclaudio }, 8139b645b30Sclaudio { 8149b645b30Sclaudio .in = { 29, -1 }, 8159b645b30Sclaudio .match = 29, 8169b645b30Sclaudio .mout = 1, 8179b645b30Sclaudio .delete = 29, 8189b645b30Sclaudio .peer = &peer, 8199b645b30Sclaudio }, 8209b645b30Sclaudio { /* 35 */ 8219b645b30Sclaudio .in = { 29, -1 }, 8229b645b30Sclaudio .match = 29, 8239b645b30Sclaudio .mout = 1, 8249b645b30Sclaudio .delete = 29, 8259b645b30Sclaudio .peer = &peer_l4, 8269b645b30Sclaudio }, 8279b645b30Sclaudio { 8289b645b30Sclaudio .in = { 29, -1 }, 8299b645b30Sclaudio .match = 29, 8309b645b30Sclaudio .mout = 1, 8319b645b30Sclaudio .delete = 29, 8329b645b30Sclaudio .peer = &peer_r4, 8339b645b30Sclaudio }, 8349b645b30Sclaudio { 8359b645b30Sclaudio .in = { 29, -1 }, 8369b645b30Sclaudio .match = 29, 8379b645b30Sclaudio .mout = 1, 8389b645b30Sclaudio .delete = 29, 8399b645b30Sclaudio .peer = &peer_b4, 8409b645b30Sclaudio }, 8419b645b30Sclaudio { 8429b645b30Sclaudio .in = { 34, -1 }, 8439b645b30Sclaudio .match = 29, 8449b645b30Sclaudio .mout = 1, 8459b645b30Sclaudio .peer = &peer, 8469b645b30Sclaudio }, 8479b645b30Sclaudio { 8489b645b30Sclaudio .in = { 34, -1 }, 8499b645b30Sclaudio .match = 29, 8509b645b30Sclaudio .mout = 0, 8519b645b30Sclaudio .peer = &peer_l4, 8529b645b30Sclaudio }, 8539b645b30Sclaudio { /* 40 */ 8549b645b30Sclaudio .in = { 34, -1 }, 8559b645b30Sclaudio .match = 29, 8569b645b30Sclaudio .mout = 0, 8579b645b30Sclaudio .peer = &peer_r4, 8589b645b30Sclaudio }, 8599b645b30Sclaudio { 8609b645b30Sclaudio .in = { 34, -1 }, 8619b645b30Sclaudio .match = 29, 8629b645b30Sclaudio .mout = 0, 8639b645b30Sclaudio .peer = &peer_b4, 8649b645b30Sclaudio }, 8659b645b30Sclaudio { 8669b645b30Sclaudio .in = { 35, -1 }, 8679b645b30Sclaudio .match = 29, 8689b645b30Sclaudio .mout = 0, 8699b645b30Sclaudio .peer = &peer, 8709b645b30Sclaudio }, 8719b645b30Sclaudio { 8729b645b30Sclaudio .in = { 35, -1 }, 8739b645b30Sclaudio .match = 29, 8749b645b30Sclaudio .mout = 1, 8759b645b30Sclaudio .peer = &peer_l4, 8769b645b30Sclaudio }, 8779b645b30Sclaudio { 8789b645b30Sclaudio .in = { 35, -1 }, 8799b645b30Sclaudio .match = 29, 8809b645b30Sclaudio .mout = 0, 8819b645b30Sclaudio .peer = &peer_r4, 8829b645b30Sclaudio }, 8839b645b30Sclaudio { /* 45 */ 8849b645b30Sclaudio .in = { 35, -1 }, 8859b645b30Sclaudio .match = 29, 8869b645b30Sclaudio .mout = 0, 8879b645b30Sclaudio .peer = &peer_b4, 8889b645b30Sclaudio }, 8899b645b30Sclaudio { 8909b645b30Sclaudio .in = { 36, -1 }, 8919b645b30Sclaudio .match = 29, 8929b645b30Sclaudio .mout = 0, 8939b645b30Sclaudio .peer = &peer, 8949b645b30Sclaudio }, 8959b645b30Sclaudio { 8969b645b30Sclaudio .in = { 36, -1 }, 8979b645b30Sclaudio .match = 29, 8989b645b30Sclaudio .mout = 0, 8999b645b30Sclaudio .peer = &peer_l4, 9009b645b30Sclaudio }, 9019b645b30Sclaudio { 9029b645b30Sclaudio .in = { 36, -1 }, 9039b645b30Sclaudio .match = 29, 9049b645b30Sclaudio .mout = 1, 9059b645b30Sclaudio .peer = &peer_r4, 9069b645b30Sclaudio }, 9079b645b30Sclaudio { 9089b645b30Sclaudio .in = { 36, -1 }, 9099b645b30Sclaudio .match = 29, 9109b645b30Sclaudio .mout = 0, 9119b645b30Sclaudio .peer = &peer_b4, 9129b645b30Sclaudio }, 9139b645b30Sclaudio { /* 50 */ 9149b645b30Sclaudio .in = { 37, -1 }, 9159b645b30Sclaudio .match = 29, 9169b645b30Sclaudio .mout = 0, 9179b645b30Sclaudio .peer = &peer, 9189b645b30Sclaudio }, 9199b645b30Sclaudio { 9209b645b30Sclaudio .in = { 37, -1 }, 9219b645b30Sclaudio .match = 29, 9229b645b30Sclaudio .mout = 0, 9239b645b30Sclaudio .peer = &peer_l4, 9249b645b30Sclaudio }, 9259b645b30Sclaudio { 9269b645b30Sclaudio .in = { 37, -1 }, 9279b645b30Sclaudio .match = 29, 9289b645b30Sclaudio .mout = 0, 9299b645b30Sclaudio .peer = &peer_r4, 9309b645b30Sclaudio }, 9319b645b30Sclaudio { 9329b645b30Sclaudio .in = { 37, -1 }, 9339b645b30Sclaudio .match = 29, 9349b645b30Sclaudio .mout = 1, 9359b645b30Sclaudio .peer = &peer_b4, 9369b645b30Sclaudio }, 9379b645b30Sclaudio { 9389b645b30Sclaudio .in = { 30, -1 }, 9399b645b30Sclaudio .match = 30, 9409b645b30Sclaudio .mout = 1, 9419b645b30Sclaudio .delete = 30, 9429b645b30Sclaudio .peer = &peer, 9439b645b30Sclaudio }, 9449b645b30Sclaudio { /* 55 */ 9459b645b30Sclaudio .in = { 30, -1 }, 9469b645b30Sclaudio .match = 30, 9479b645b30Sclaudio .mout = 1, 9489b645b30Sclaudio .delete = 30, 9499b645b30Sclaudio .peer = &peer_l4, 9509b645b30Sclaudio }, 9519b645b30Sclaudio { 9529b645b30Sclaudio .in = { 30, -1 }, 9539b645b30Sclaudio .match = 30, 9549b645b30Sclaudio .mout = 1, 9559b645b30Sclaudio .delete = 30, 9569b645b30Sclaudio .peer = &peer_r4, 9579b645b30Sclaudio }, 9589b645b30Sclaudio { 9599b645b30Sclaudio .in = { 38, -1 }, 9609b645b30Sclaudio .match = 30, 9619b645b30Sclaudio .mout = 1, 9629b645b30Sclaudio .peer = &peer, 9639b645b30Sclaudio }, 9649b645b30Sclaudio { 9659b645b30Sclaudio .in = { 38, -1 }, 9669b645b30Sclaudio .match = 30, 9679b645b30Sclaudio .mout = 0, 9689b645b30Sclaudio .peer = &peer_l4, 9699b645b30Sclaudio }, 9709b645b30Sclaudio { 9719b645b30Sclaudio .in = { 38, -1 }, 9729b645b30Sclaudio .match = 30, 9739b645b30Sclaudio .mout = 0, 9749b645b30Sclaudio .peer = &peer_r4, 9759b645b30Sclaudio }, 9769b645b30Sclaudio { /* 60 */ 9779b645b30Sclaudio .in = { 39, -1 }, 9789b645b30Sclaudio .match = 30, 9799b645b30Sclaudio .mout = 1, 9809b645b30Sclaudio .peer = &peer, 9819b645b30Sclaudio }, 9829b645b30Sclaudio { 9839b645b30Sclaudio .in = { 39, -1 }, 9849b645b30Sclaudio .match = 30, 9859b645b30Sclaudio .mout = 0, 9869b645b30Sclaudio .peer = &peer_l4, 9879b645b30Sclaudio }, 9889b645b30Sclaudio { 9899b645b30Sclaudio .in = { 39, -1 }, 9909b645b30Sclaudio .match = 30, 9919b645b30Sclaudio .mout = 0, 9929b645b30Sclaudio .peer = &peer_r4, 9939b645b30Sclaudio }, 9949b645b30Sclaudio { 9959b645b30Sclaudio .in = { 40, -1 }, 9969b645b30Sclaudio .match = 30, 9979b645b30Sclaudio .mout = 0, 9989b645b30Sclaudio .peer = &peer, 9999b645b30Sclaudio }, 10009b645b30Sclaudio { 10019b645b30Sclaudio .in = { 40, -1 }, 10029b645b30Sclaudio .match = 30, 10039b645b30Sclaudio .mout = 1, 10049b645b30Sclaudio .peer = &peer_l4, 10059b645b30Sclaudio }, 10069b645b30Sclaudio { /* 65 */ 10079b645b30Sclaudio .in = { 40, -1 }, 10089b645b30Sclaudio .match = 30, 10099b645b30Sclaudio .mout = 0, 10109b645b30Sclaudio .peer = &peer_r4, 10119b645b30Sclaudio }, 10129b645b30Sclaudio { 10139b645b30Sclaudio .in = { 41, -1 }, 10149b645b30Sclaudio .match = 30, 10159b645b30Sclaudio .mout = 0, 10169b645b30Sclaudio .peer = &peer, 10179b645b30Sclaudio }, 10189b645b30Sclaudio { 10199b645b30Sclaudio .in = { 41, -1 }, 10209b645b30Sclaudio .match = 30, 10219b645b30Sclaudio .mout = 0, 10229b645b30Sclaudio .peer = &peer_l4, 10239b645b30Sclaudio }, 10249b645b30Sclaudio { 10259b645b30Sclaudio .in = { 41, -1 }, 10269b645b30Sclaudio .match = 30, 10279b645b30Sclaudio .mout = 1, 10289b645b30Sclaudio .peer = &peer_r4, 10299b645b30Sclaudio }, 1030000e30a8Sclaudio { 1031000e30a8Sclaudio .in = { 38, -1 }, 1032000e30a8Sclaudio .match = 30, 1033000e30a8Sclaudio .mout = 1, 1034000e30a8Sclaudio .peer = &peer, 1035000e30a8Sclaudio }, 1036000e30a8Sclaudio { /* 70 */ 1037000e30a8Sclaudio .in = { 38, 39, 40, -1 }, 1038000e30a8Sclaudio .match = 42, 1039000e30a8Sclaudio .mout = 1, 1040000e30a8Sclaudio .delete = 42, 1041000e30a8Sclaudio .next = 0 + 1, 1042000e30a8Sclaudio .peer = &peer, 1043000e30a8Sclaudio }, 1044000e30a8Sclaudio { 1045000e30a8Sclaudio .in = { 38, 39, 40, -1 }, 1046000e30a8Sclaudio .match = 43, 1047000e30a8Sclaudio .mout = 1, 1048000e30a8Sclaudio .delete = 43, 1049000e30a8Sclaudio .next = 0 + 1, 1050000e30a8Sclaudio .peer = &peer, 1051000e30a8Sclaudio }, 1052000e30a8Sclaudio { 1053000e30a8Sclaudio .in = { 39, 40, -1 }, 1054000e30a8Sclaudio .match = 44, 1055000e30a8Sclaudio .mout = 1, 1056000e30a8Sclaudio .delete = 44, 1057000e30a8Sclaudio .next = 0 + 1, 1058000e30a8Sclaudio .peer = &peer, 1059000e30a8Sclaudio }, 1060000e30a8Sclaudio { 1061000e30a8Sclaudio .in = { 38, -1 }, 1062000e30a8Sclaudio .match = 44, 1063000e30a8Sclaudio .mout = 0, 1064000e30a8Sclaudio .peer = &peer, 1065000e30a8Sclaudio }, 1066000e30a8Sclaudio { 1067000e30a8Sclaudio .in = { 40, -1 }, 1068000e30a8Sclaudio .match = 45, 1069000e30a8Sclaudio .mout = 1, 1070000e30a8Sclaudio .delete = 45, 1071000e30a8Sclaudio .next = 0 + 1, 1072000e30a8Sclaudio .peer = &peer, 1073000e30a8Sclaudio }, 1074000e30a8Sclaudio { /* 75 */ 1075000e30a8Sclaudio .in = { 38, 39, 41, -1 }, 1076000e30a8Sclaudio .match = 45, 1077000e30a8Sclaudio .mout = 0, 1078000e30a8Sclaudio .peer = &peer, 1079000e30a8Sclaudio }, 1080ff8ffa77Sclaudio }; 1081