2258 char *yymsg = yymsgbuf;
2259 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
2262 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) 2268 yyssp = yyss = yyssa;
2269 yyvsp = yyvs = yyvsa;
2270 yylsp = yyls = yylsa;
2273 YYDPRINTF ((stderr,
"Starting parse\n"));
2293 if (yyss + yystacksize - 1 <= yyssp)
2296 YYSIZE_T yysize = yyssp - yyss + 1;
2311 yyoverflow (
YY_(
"memory exhausted"),
2312 &yyss1, yysize *
sizeof (*yyssp),
2313 &yyvs1, yysize *
sizeof (*yyvsp),
2314 &yyls1, yysize *
sizeof (*yylsp),
2322 # ifndef YYSTACK_RELOCATE 2323 goto yyexhaustedlab;
2327 goto yyexhaustedlab;
2337 goto yyexhaustedlab;
2341 # undef YYSTACK_RELOCATE 2348 yyssp = yyss + yysize - 1;
2349 yyvsp = yyvs + yysize - 1;
2350 yylsp = yyls + yysize - 1;
2352 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
2353 (
unsigned long int) yystacksize));
2355 if (yyss + yystacksize - 1 <= yyssp)
2359 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
2375 yyn = yypact[yystate];
2384 YYDPRINTF ((stderr,
"Reading a token: "));
2391 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2402 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
2436 yyn = yydefact[yystate];
2457 yyval = yyvsp[1-yylen];
2465 #line 362 "parser.y" 2469 #line 2470 "parser.cc" 2473 #line 368 "parser.y" 2476 #line 2477 "parser.cc" 2480 #line 370 "parser.y" 2482 (yyval.
option) = (yyvsp[0].option);
2485 #line 2486 "parser.cc" 2489 #line 377 "parser.y" 2491 out_script->
addOption((yyvsp[0].option));
2492 (yyval.
option) = (yyvsp[0].option);
2494 #line 2495 "parser.cc" 2498 #line 381 "parser.y" 2500 out_script->
addOption((yyvsp[0].option));
2501 (yyval.
option) = (yyvsp[0].option);
2503 #line 2504 "parser.cc" 2507 #line 388 "parser.y" 2511 #line 2512 "parser.cc" 2515 #line 393 "parser.y" 2516 { (yyval.
string) = (yyvsp[0].reserved); }
2517 #line 2518 "parser.cc" 2521 #line 397 "parser.y" 2523 #line 2524 "parser.cc" 2527 #line 398 "parser.y" 2528 { (yyval.
string) = (yyvsp[0].
string); }
2529 #line 2530 "parser.cc" 2533 #line 399 "parser.y" 2534 { (yyval.
string) = (yyvsp[0].
string); }
2535 #line 2536 "parser.cc" 2539 #line 404 "parser.y" 2541 out_script->
addEvent((yyvsp[0].event));
2542 (yyval.
event) = (yyvsp[0].event);
2544 #line 2545 "parser.cc" 2548 #line 408 "parser.y" 2550 out_script->
addEvent((yyvsp[0].event));
2551 (yyval.
event) = (yyvsp[0].event);
2553 #line 2554 "parser.cc" 2557 #line 415 "parser.y" 2559 (yyval.
event) = (yyvsp[0].event);
2560 (yyval.
event)->setLineNumber((yyvsp[-1].event)->getLineNumber());
2561 (yyval.
event)->setEventTime((yyvsp[-1].event)->getEventTime());
2562 (yyval.
event)->setEventTimeEnd((yyvsp[-1].event)->getEventTimeEnd());
2563 (yyval.
event)->setTimeType((yyvsp[-1].event)->getTimeType());
2564 (yyvsp[-1].event)->getLineNumber(),
2565 (yyvsp[-1].event)->getEventTime().dbl(),
2566 (yyvsp[-1].event)->getEventTimeEnd().dbl(),
2567 (yyvsp[-1].event)->getTimeType();
2569 if ((yyval.
event)->getEventTimeEnd() < (yyval.
event)->getEventTime())
2570 semantic_error(
"time range is backwards");
2575 semantic_error(
"event time <star> can only be used with outbound packets");
2581 semantic_error(
"event time range can only be used with outbound packets");
2583 delete((yyvsp[-1].event));
2585 #line 2586 "parser.cc" 2589 #line 445 "parser.y" 2592 (yyval.
event)->setLineNumber((yylsp[0]).first_line);
2593 (yyval.
event)->setEventTime((yyvsp[0].time_usecs));
2596 #line 2597 "parser.cc" 2600 #line 451 "parser.y" 2603 (yyval.
event)->setLineNumber((yylsp[0]).first_line);
2604 (yyval.
event)->setEventTime((yyvsp[0].time_usecs));
2607 #line 2608 "parser.cc" 2611 #line 457 "parser.y" 2614 (yyval.
event)->setLineNumber((yylsp[0]).first_line);
2617 #line 2618 "parser.cc" 2621 #line 462 "parser.y" 2624 (yyval.
event)->setLineNumber((yylsp[-2]).first_line);
2626 (yyval.
event)->setEventTime((yyvsp[-2].time_usecs));
2627 (yyval.
event)->setEventTimeEnd((yyvsp[0].time_usecs));
2629 #line 2630 "parser.cc" 2633 #line 469 "parser.y" 2636 (yyval.
event)->setLineNumber((yylsp[-4]).first_line);
2638 (yyval.
event)->setEventTime((yyvsp[-3].time_usecs));
2639 (yyval.
event)->setEventTimeEnd((yyvsp[0].time_usecs));
2641 #line 2642 "parser.cc" 2645 #line 479 "parser.y" 2647 if ((yyvsp[0].floating) < 0) {
2648 semantic_error(
"negative time");
2652 #line 2653 "parser.cc" 2656 #line 485 "parser.y" 2658 if ((yyvsp[0].integer) < 0) {
2659 semantic_error(
"negative time");
2663 #line 2664 "parser.cc" 2667 #line 494 "parser.y" 2669 if ((yyvsp[0].packet)) {
2672 (yyval.
event) = NULL;
2675 #line 2676 "parser.cc" 2679 #line 501 "parser.y" 2682 (yyval.
event)->setSyscall((yyvsp[0].syscall));
2684 #line 2685 "parser.cc" 2688 #line 505 "parser.y" 2691 (yyval.
event)->setCommand((yyvsp[0].command));
2693 #line 2694 "parser.cc" 2697 #line 512 "parser.y" 2700 (yyval.
command)->command_line = (yyvsp[0].reserved);
2702 #line 2703 "parser.cc" 2706 #line 519 "parser.y" 2708 (yyval.
packet) = (yyvsp[0].packet);
2710 #line 2711 "parser.cc" 2714 #line 522 "parser.y" 2716 (yyval.
packet) = (yyvsp[0].packet);
2718 #line 2719 "parser.cc" 2722 #line 525 "parser.y" 2724 (yyval.
packet) = (yyvsp[0].packet);
2726 #line 2727 "parser.cc" 2730 #line 531 "parser.y" 2738 printf(
"<...> for TCP options can only be used with outbound packets");
2742 (yyvsp[-3].tcp_sequence_info).start_sequence, (yyvsp[-3].tcp_sequence_info).payload_bytes,
2743 (yyvsp[-2].sequence_number), (yyvsp[-1].window), (yyvsp[0].tcp_options), &error);
2745 free((yyvsp[-4].
string));
2748 inner->setInetPacket(pkt);
2750 inner->setDirection(direction);
2754 #line 2755 "parser.cc" 2758 #line 557 "parser.y" 2766 pkt->setName(
"parserInbound");
2768 pkt->setName(
"parserOutbound");
2770 inner->setInetPacket(pkt);
2771 inner->setDirection(direction);
2775 #line 2776 "parser.cc" 2779 #line 576 "parser.y" 2782 enum direction_t direction = (yyvsp[-3].packet)->getDirection();
2786 pkt->setName(
"parserInbound");
2788 pkt->setName(
"parserOutbound");
2793 semantic_error(
"inbound packets must be fully specified");
2797 #line 2798 "parser.cc" 2801 #line 596 "parser.y" 2804 #line 2805 "parser.cc" 2808 #line 598 "parser.y" 2811 #line 2812 "parser.cc" 2815 #line 604 "parser.y" 2816 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2817 #line 2818 "parser.cc" 2821 #line 605 "parser.y" 2822 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2823 #line 2824 "parser.cc" 2827 #line 606 "parser.y" 2828 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2829 #line 2830 "parser.cc" 2833 #line 607 "parser.y" 2834 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2835 #line 2836 "parser.cc" 2839 #line 608 "parser.y" 2840 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2841 #line 2842 "parser.cc" 2845 #line 609 "parser.y" 2846 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2847 #line 2848 "parser.cc" 2851 #line 610 "parser.y" 2852 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2853 #line 2854 "parser.cc" 2857 #line 611 "parser.y" 2858 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2859 #line 2860 "parser.cc" 2863 #line 612 "parser.y" 2864 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2865 #line 2866 "parser.cc" 2869 #line 613 "parser.y" 2870 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2871 #line 2872 "parser.cc" 2875 #line 614 "parser.y" 2876 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2877 #line 2878 "parser.cc" 2881 #line 615 "parser.y" 2882 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2883 #line 2884 "parser.cc" 2887 #line 616 "parser.y" 2888 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2889 #line 2890 "parser.cc" 2893 #line 617 "parser.y" 2894 { (yyval.
sctp_chunk) = (yyvsp[0].sctp_chunk); }
2895 #line 2896 "parser.cc" 2899 #line 622 "parser.y" 2901 #line 2902 "parser.cc" 2905 #line 623 "parser.y" 2907 if (!is_valid_u8((yyvsp[0].integer))) {
2908 semantic_error(
"flags value out of range");
2910 (yyval.
integer) = (yyvsp[0].integer);
2912 #line 2913 "parser.cc" 2916 #line 629 "parser.y" 2918 if (!is_valid_u8((yyvsp[0].integer))) {
2919 semantic_error(
"flags value out of range");
2921 (yyval.
integer) = (yyvsp[0].integer);
2923 #line 2924 "parser.cc" 2927 #line 638 "parser.y" 2929 #line 2930 "parser.cc" 2933 #line 639 "parser.y" 2935 if (!is_valid_u16((yyvsp[0].integer))) {
2936 semantic_error(
"length value out of range");
2938 (yyval.
integer) = (yyvsp[0].integer);
2940 #line 2941 "parser.cc" 2944 #line 648 "parser.y" 2946 #line 2947 "parser.cc" 2950 #line 649 "parser.y" 2952 #line 2953 "parser.cc" 2956 #line 650 "parser.y" 2957 { (yyval.
byte_list) = (yyvsp[-1].byte_list); }
2958 #line 2959 "parser.cc" 2962 #line 654 "parser.y" 2964 #line 2965 "parser.cc" 2968 #line 655 "parser.y" 2969 { (yyval.
byte_list) = (yyvsp[-2].byte_list);
2970 (yyvsp[-2].byte_list)->appendByte((yyvsp[0].byte)); }
2971 #line 2972 "parser.cc" 2975 #line 660 "parser.y" 2977 #line 2978 "parser.cc" 2981 #line 661 "parser.y" 2983 #line 2984 "parser.cc" 2987 #line 662 "parser.y" 2988 { (yyval.
byte_list) = (yyvsp[-2].byte_list);
2989 (yyvsp[-2].byte_list)->appendByte((yyvsp[0].integer)); }
2990 #line 2991 "parser.cc" 2994 #line 667 "parser.y" 2996 if (!is_valid_u8((yyvsp[0].integer))) {
2997 semantic_error(
"byte value out of range");
2999 (yyval.
byte) = (yyvsp[0].integer);
3001 #line 3002 "parser.cc" 3005 #line 673 "parser.y" 3007 if (!is_valid_u8((yyvsp[0].integer))) {
3008 semantic_error(
"byte value out of range");
3010 (yyval.
byte) = (yyvsp[0].integer);
3012 #line 3013 "parser.cc" 3016 #line 682 "parser.y" 3018 if (!is_valid_u8((yyvsp[0].integer))) {
3019 semantic_error(
"type value out of range");
3021 (yyval.
integer) = (yyvsp[0].integer);
3023 #line 3024 "parser.cc" 3027 #line 688 "parser.y" 3029 if (!is_valid_u8((yyvsp[0].integer))) {
3030 semantic_error(
"type value out of range");
3032 (yyval.
integer) = (yyvsp[0].integer);
3034 #line 3035 "parser.cc" 3038 #line 694 "parser.y" 3042 #line 3043 "parser.cc" 3046 #line 697 "parser.y" 3050 #line 3051 "parser.cc" 3054 #line 700 "parser.y" 3058 #line 3059 "parser.cc" 3062 #line 703 "parser.y" 3066 #line 3067 "parser.cc" 3070 #line 706 "parser.y" 3074 #line 3075 "parser.cc" 3078 #line 709 "parser.y" 3082 #line 3083 "parser.cc" 3086 #line 712 "parser.y" 3090 #line 3091 "parser.cc" 3094 #line 715 "parser.y" 3098 #line 3099 "parser.cc" 3102 #line 718 "parser.y" 3106 #line 3107 "parser.cc" 3110 #line 721 "parser.y" 3114 #line 3115 "parser.cc" 3118 #line 724 "parser.y" 3122 #line 3123 "parser.cc" 3126 #line 727 "parser.y" 3130 #line 3131 "parser.cc" 3134 #line 730 "parser.y" 3138 #line 3139 "parser.cc" 3142 #line 733 "parser.y" 3146 #line 3147 "parser.cc" 3150 #line 736 "parser.y" 3154 #line 3155 "parser.cc" 3158 #line 742 "parser.y" 3160 #line 3161 "parser.cc" 3164 #line 743 "parser.y" 3166 if (!is_valid_u8((yyvsp[0].integer))) {
3167 semantic_error(
"flags value out of range");
3169 (yyval.
integer) = (yyvsp[0].integer);
3171 #line 3172 "parser.cc" 3175 #line 749 "parser.y" 3177 if (!is_valid_u8((yyvsp[0].integer))) {
3178 semantic_error(
"flags value out of range");
3180 (yyval.
integer) = (yyvsp[0].integer);
3182 #line 3183 "parser.cc" 3186 #line 755 "parser.y" 3192 for (c = (yyvsp[0].
string); *c !=
'\0'; c++) {
3196 semantic_error(
"I-bit specified multiple times");
3203 semantic_error(
"U-bit specified multiple times");
3210 semantic_error(
"B-bit specified multiple times");
3217 semantic_error(
"E-bit specified multiple times");
3223 semantic_error(
"Only expecting IUBE as flags");
3228 #line 3229 "parser.cc" 3232 #line 799 "parser.y" 3234 #line 3235 "parser.cc" 3238 #line 800 "parser.y" 3240 if (!is_valid_u8((yyvsp[0].integer))) {
3241 semantic_error(
"flags value out of range");
3243 (yyval.
integer) = (yyvsp[0].integer);
3245 #line 3246 "parser.cc" 3249 #line 806 "parser.y" 3251 if (!is_valid_u8((yyvsp[0].integer))) {
3252 semantic_error(
"flags value out of range");
3254 (yyval.
integer) = (yyvsp[0].integer);
3256 #line 3257 "parser.cc" 3260 #line 812 "parser.y" 3266 for (c = (yyvsp[0].
string); *c !=
'\0'; c++) {
3270 semantic_error(
"T-bit specified multiple times");
3276 semantic_error(
"Only expecting T as flags");
3281 #line 3282 "parser.cc" 3285 #line 835 "parser.y" 3287 #line 3288 "parser.cc" 3291 #line 836 "parser.y" 3293 if (!is_valid_u8((yyvsp[0].integer))) {
3294 semantic_error(
"flags value out of range");
3296 (yyval.
integer) = (yyvsp[0].integer);
3298 #line 3299 "parser.cc" 3302 #line 842 "parser.y" 3304 if (!is_valid_u8((yyvsp[0].integer))) {
3305 semantic_error(
"flags value out of range");
3307 (yyval.
integer) = (yyvsp[0].integer);
3309 #line 3310 "parser.cc" 3313 #line 848 "parser.y" 3319 for (c = (yyvsp[0].
string); *c !=
'\0'; c++) {
3323 semantic_error(
"T-bit specified multiple times");
3329 semantic_error(
"Only expecting T as flags");
3334 #line 3335 "parser.cc" 3338 #line 871 "parser.y" 3340 #line 3341 "parser.cc" 3344 #line 872 "parser.y" 3346 if (!is_valid_u32((yyvsp[0].integer))) {
3347 semantic_error(
"tag value out of range");
3349 (yyval.
integer) = (yyvsp[0].integer);
3351 #line 3352 "parser.cc" 3355 #line 881 "parser.y" 3357 #line 3358 "parser.cc" 3361 #line 882 "parser.y" 3363 if (!is_valid_u32((yyvsp[0].integer))) {
3364 semantic_error(
"a_rwnd value out of range");
3366 (yyval.
integer) = (yyvsp[0].integer);
3368 #line 3369 "parser.cc" 3372 #line 891 "parser.y" 3374 #line 3375 "parser.cc" 3378 #line 892 "parser.y" 3380 if (!is_valid_u16((yyvsp[0].integer))) {
3381 semantic_error(
"os value out of range");
3383 (yyval.
integer) = (yyvsp[0].integer);
3385 #line 3386 "parser.cc" 3389 #line 901 "parser.y" 3391 #line 3392 "parser.cc" 3395 #line 902 "parser.y" 3397 if (!is_valid_u16((yyvsp[0].integer))) {
3398 semantic_error(
"is value out of range");
3400 (yyval.
integer) = (yyvsp[0].integer);
3402 #line 3403 "parser.cc" 3406 #line 911 "parser.y" 3408 #line 3409 "parser.cc" 3412 #line 912 "parser.y" 3414 if (!is_valid_u32((yyvsp[0].integer))) {
3415 semantic_error(
"tsn value out of range");
3417 (yyval.
integer) = (yyvsp[0].integer);
3419 #line 3420 "parser.cc" 3423 #line 921 "parser.y" 3425 #line 3426 "parser.cc" 3429 #line 922 "parser.y" 3431 if (!is_valid_u16((yyvsp[0].integer))) {
3432 semantic_error(
"sid value out of range");
3434 (yyval.
integer) = (yyvsp[0].integer);
3436 #line 3437 "parser.cc" 3440 #line 931 "parser.y" 3442 #line 3443 "parser.cc" 3446 #line 932 "parser.y" 3448 if (!is_valid_u16((yyvsp[0].integer))) {
3449 semantic_error(
"ssn value out of range");
3451 (yyval.
integer) = (yyvsp[0].integer);
3453 #line 3454 "parser.cc" 3457 #line 942 "parser.y" 3459 #line 3460 "parser.cc" 3463 #line 943 "parser.y" 3465 if (!is_valid_u32((yyvsp[0].integer))) {
3466 semantic_error(
"ppid value out of range");
3468 (yyval.
integer) = (yyvsp[0].integer);
3470 #line 3471 "parser.cc" 3474 #line 949 "parser.y" 3476 if (!is_valid_u32((yyvsp[0].integer))) {
3477 semantic_error(
"ppid value out of range");
3479 (yyval.
integer) = (yyvsp[0].integer);
3481 #line 3482 "parser.cc" 3485 #line 958 "parser.y" 3487 #line 3488 "parser.cc" 3491 #line 959 "parser.y" 3493 if (!is_valid_u32((yyvsp[0].integer))) {
3494 semantic_error(
"cum_tsn value out of range");
3496 (yyval.
integer) = (yyvsp[0].integer);
3498 #line 3499 "parser.cc" 3502 #line 968 "parser.y" 3504 #line 3505 "parser.cc" 3508 #line 969 "parser.y" 3510 #line 3511 "parser.cc" 3514 #line 970 "parser.y" 3516 #line 3517 "parser.cc" 3520 #line 975 "parser.y" 3522 #line 3523 "parser.cc" 3526 #line 976 "parser.y" 3528 #line 3529 "parser.cc" 3532 #line 977 "parser.y" 3534 #line 3535 "parser.cc" 3538 #line 982 "parser.y" 3540 if (((yyvsp[-9].integer) != -1) &&
3542 semantic_error(
"length value out of range");
3546 #line 3547 "parser.cc" 3550 #line 991 "parser.y" 3552 (yyval.
sctp_chunk) =
PacketDrill::buildInitChunk((yyvsp[-12].integer), (yyvsp[-10].integer), (yyvsp[-8].integer), (yyvsp[-6].integer), (yyvsp[-4].integer), (yyvsp[-2].integer), (yyvsp[-1].expression_list));
3554 #line 3555 "parser.cc" 3558 #line 996 "parser.y" 3560 (yyval.
sctp_chunk) =
PacketDrill::buildInitAckChunk((yyvsp[-12].integer), (yyvsp[-10].integer), (yyvsp[-8].integer), (yyvsp[-6].integer), (yyvsp[-4].integer), (yyvsp[-2].integer), (yyvsp[-1].expression_list));
3562 #line 3563 "parser.cc" 3566 #line 1001 "parser.y" 3570 #line 3571 "parser.cc" 3574 #line 1006 "parser.y" 3578 #line 3579 "parser.cc" 3582 #line 1012 "parser.y" 3586 #line 3587 "parser.cc" 3590 #line 1018 "parser.y" 3594 #line 3595 "parser.cc" 3598 #line 1023 "parser.y" 3602 #line 3603 "parser.cc" 3606 #line 1028 "parser.y" 3610 #line 3611 "parser.cc" 3614 #line 1033 "parser.y" 3616 if (((yyvsp[-3].integer) != -1) &&
3618 semantic_error(
"length value out of range");
3620 if (((yyvsp[-3].integer) != -1) && ((yyvsp[-1].byte_list) != NULL) &&
3622 semantic_error(
"length value incompatible with val");
3624 if (((yyvsp[-3].integer) == -1) && ((yyvsp[-1].byte_list) != NULL)) {
3625 semantic_error(
"length needs to be specified");
3629 #line 3630 "parser.cc" 3633 #line 1049 "parser.y" 3637 #line 3638 "parser.cc" 3641 #line 1054 "parser.y" 3643 #line 3644 "parser.cc" 3647 #line 1055 "parser.y" 3648 { (yyval.
cause_list) =
new cQueue(
"empty"); }
3649 #line 3650 "parser.cc" 3653 #line 1056 "parser.y" 3654 { (yyval.
cause_list) = (yyvsp[0].cause_list); }
3655 #line 3656 "parser.cc" 3659 #line 1060 "parser.y" 3660 { (yyval.
cause_list) =
new cQueue(
"cause list");
3662 #line 3663 "parser.cc" 3666 #line 1062 "parser.y" 3667 { (yyval.
cause_list) = (yyvsp[-2].cause_list);
3669 #line 3670 "parser.cc" 3673 #line 1067 "parser.y" 3675 if (!is_valid_u16((yyvsp[-1].integer))) {
3676 semantic_error(
"stream identifier out of range");
3680 #line 3681 "parser.cc" 3684 #line 1073 "parser.y" 3688 #line 3689 "parser.cc" 3692 #line 1078 "parser.y" 3693 { (yyval.
cause_item) = (yyvsp[0].cause_item); }
3694 #line 3695 "parser.cc" 3698 #line 1082 "parser.y" 3702 #line 3703 "parser.cc" 3706 #line 1087 "parser.y" 3710 #line 3711 "parser.cc" 3714 #line 1093 "parser.y" 3716 if (!is_valid_u32((yyvsp[0].integer))) {
3717 semantic_error(
"req_sn out of range");
3719 (yyval.
integer) = (yyvsp[0].integer);
3721 #line 3722 "parser.cc" 3725 #line 1099 "parser.y" 3727 #line 3728 "parser.cc" 3731 #line 1103 "parser.y" 3733 if (!is_valid_u32((yyvsp[0].integer))) {
3734 semantic_error(
"resp_sn out of range");
3736 (yyval.
integer) = (yyvsp[0].integer);
3738 #line 3739 "parser.cc" 3742 #line 1109 "parser.y" 3744 #line 3745 "parser.cc" 3748 #line 1113 "parser.y" 3750 if (!is_valid_u32((yyvsp[0].integer))) {
3751 semantic_error(
"last_tsn out of range");
3753 (yyval.
integer) = (yyvsp[0].integer);
3755 #line 3756 "parser.cc" 3759 #line 1119 "parser.y" 3761 #line 3762 "parser.cc" 3765 #line 1123 "parser.y" 3767 if (!is_valid_u32((yyvsp[0].integer))) {
3768 semantic_error(
"result out of range");
3770 (yyval.
integer) = (yyvsp[0].integer);
3772 #line 3773 "parser.cc" 3776 #line 1129 "parser.y" 3778 #line 3779 "parser.cc" 3782 #line 1133 "parser.y" 3784 if (!is_valid_u32((yyvsp[0].integer))) {
3785 semantic_error(
"sender_next_tsn out of range");
3787 (yyval.
integer) = (yyvsp[0].integer);
3789 #line 3790 "parser.cc" 3793 #line 1139 "parser.y" 3795 if (!is_valid_u32((yyvsp[0].integer))) {
3796 semantic_error(
"sender_next_tsn out of range");
3798 (yyval.
integer) = (yyvsp[0].integer);
3800 #line 3801 "parser.cc" 3804 #line 1145 "parser.y" 3806 #line 3807 "parser.cc" 3810 #line 1149 "parser.y" 3812 if (!is_valid_u32((yyvsp[0].integer))) {
3813 semantic_error(
"receiver_next_tsn out of range");
3815 (yyval.
integer) = (yyvsp[0].integer);
3817 #line 3818 "parser.cc" 3821 #line 1155 "parser.y" 3823 if (!is_valid_u32((yyvsp[0].integer))) {
3824 semantic_error(
"receiver_next_tsn out of range");
3826 (yyval.
integer) = (yyvsp[0].integer);
3828 #line 3829 "parser.cc" 3832 #line 1161 "parser.y" 3834 #line 3835 "parser.cc" 3838 #line 1165 "parser.y" 3840 if (!is_valid_u16((yyvsp[0].integer))) {
3841 semantic_error(
"number_of_new_streams out of range");
3843 (yyval.
integer) = (yyvsp[0].integer);
3845 #line 3846 "parser.cc" 3849 #line 1171 "parser.y" 3851 #line 3852 "parser.cc" 3855 #line 1175 "parser.y" 3860 #line 3861 "parser.cc" 3864 #line 1179 "parser.y" 3868 #line 3869 "parser.cc" 3872 #line 1185 "parser.y" 3874 (yyval.
expression) = new_integer_expression(-1,
"%d");
3876 #line 3877 "parser.cc" 3880 #line 1188 "parser.y" 3882 if (!is_valid_u16((yyvsp[0].integer))) {
3883 semantic_error(
"Stream number value out of range");
3885 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
3887 #line 3888 "parser.cc" 3891 #line 1198 "parser.y" 3895 #line 3896 "parser.cc" 3899 #line 1201 "parser.y" 3903 #line 3904 "parser.cc" 3907 #line 1207 "parser.y" 3911 #line 3912 "parser.cc" 3915 #line 1210 "parser.y" 3919 #line 3920 "parser.cc" 3923 #line 1216 "parser.y" 3927 #line 3928 "parser.cc" 3931 #line 1222 "parser.y" 3935 #line 3936 "parser.cc" 3939 #line 1225 "parser.y" 3943 #line 3944 "parser.cc" 3947 #line 1231 "parser.y" 3951 #line 3952 "parser.cc" 3955 #line 1237 "parser.y" 3959 #line 3960 "parser.cc" 3963 #line 1249 "parser.y" 3967 #line 3968 "parser.cc" 3971 #line 1255 "parser.y" 3973 #line 3974 "parser.cc" 3977 #line 1256 "parser.y" 3979 #line 3980 "parser.cc" 3983 #line 1257 "parser.y" 3985 #line 3986 "parser.cc" 3989 #line 1261 "parser.y" 3994 #line 3995 "parser.cc" 3998 #line 1265 "parser.y" 4003 #line 4004 "parser.cc" 4007 #line 1273 "parser.y" 4009 #line 4010 "parser.cc" 4013 #line 1274 "parser.y" 4015 #line 4016 "parser.cc" 4019 #line 1275 "parser.y" 4021 #line 4022 "parser.cc" 4025 #line 1276 "parser.y" 4027 #line 4028 "parser.cc" 4031 #line 1277 "parser.y" 4033 #line 4034 "parser.cc" 4037 #line 1278 "parser.y" 4039 #line 4040 "parser.cc" 4043 #line 1279 "parser.y" 4045 #line 4046 "parser.cc" 4049 #line 1280 "parser.y" 4051 #line 4052 "parser.cc" 4055 #line 1281 "parser.y" 4057 #line 4058 "parser.cc" 4061 #line 1282 "parser.y" 4063 #line 4064 "parser.cc" 4067 #line 1287 "parser.y" 4071 #line 4072 "parser.cc" 4075 #line 1290 "parser.y" 4077 if (((yyvsp[-3].integer) != -1) &&
4078 (!is_valid_u16((yyvsp[-3].integer)) || ((yyvsp[-3].integer) < 4))) {
4079 semantic_error(
"length value out of range");
4081 if (((yyvsp[-3].integer) != -1) && ((yyvsp[-1].byte_list) != NULL) &&
4082 ((yyvsp[-3].integer) != 4 + (yyvsp[-1].byte_list)->getListLength())) {
4083 semantic_error(
"length value incompatible with val");
4085 if (((yyvsp[-3].integer) == -1) && ((yyvsp[-1].byte_list) != NULL)) {
4086 semantic_error(
"length needs to be specified");
4090 #line 4091 "parser.cc" 4094 #line 1306 "parser.y" 4098 #line 4099 "parser.cc" 4102 #line 1309 "parser.y" 4106 #line 4107 "parser.cc" 4110 #line 1314 "parser.y" 4111 { (yyval.
stream_list) =
new cQueue(
"empty_address_types_list");
4113 #line 4114 "parser.cc" 4117 #line 1316 "parser.y" 4118 { (yyval.
stream_list) =
new cQueue(
"address_types_list");
4121 #line 4122 "parser.cc" 4125 #line 1319 "parser.y" 4129 #line 4130 "parser.cc" 4133 #line 1325 "parser.y" 4134 {
if (!is_valid_u16((yyvsp[0].integer))) {
4135 semantic_error(
"address type value out of range");
4137 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u"); }
4138 #line 4139 "parser.cc" 4142 #line 1329 "parser.y" 4144 #line 4145 "parser.cc" 4148 #line 1330 "parser.y" 4150 #line 4151 "parser.cc" 4154 #line 1334 "parser.y" 4158 #line 4159 "parser.cc" 4162 #line 1337 "parser.y" 4164 (yyvsp[-2].stream_list)->setName(
"SupportedAddressTypes");
4167 #line 4168 "parser.cc" 4171 #line 1343 "parser.y" 4175 #line 4176 "parser.cc" 4179 #line 1346 "parser.y" 4183 #line 4184 "parser.cc" 4187 #line 1349 "parser.y" 4189 if (((yyvsp[-5].integer) < 4) || !is_valid_u32((yyvsp[-5].integer))) {
4190 semantic_error(
"len value out of range");
4194 #line 4195 "parser.cc" 4198 #line 1359 "parser.y" 4201 (yyval.
packet)->setDirection((yyvsp[0].direction));
4203 #line 4204 "parser.cc" 4207 #line 1367 "parser.y" 4212 #line 4213 "parser.cc" 4216 #line 1371 "parser.y" 4221 #line 4222 "parser.cc" 4225 #line 1378 "parser.y" 4227 (yyval.
string) = (yyvsp[0].
string);
4229 #line 4230 "parser.cc" 4233 #line 1381 "parser.y" 4235 (yyval.
string) = strdup(
".");
4237 #line 4238 "parser.cc" 4241 #line 1384 "parser.y" 4243 asprintf(&((yyval.
string)),
"%s.", (yyvsp[-1].string));
4244 free((yyvsp[-1].
string));
4246 #line 4247 "parser.cc" 4250 #line 1388 "parser.y" 4252 (yyval.
string) = strdup(
"");
4254 #line 4255 "parser.cc" 4258 #line 1394 "parser.y" 4260 if (!is_valid_u32((yyvsp[-5].integer))) {
4261 semantic_error(
"TCP start sequence number out of range");
4263 if (!is_valid_u32((yyvsp[-3].integer))) {
4264 semantic_error(
"TCP end sequence number out of range");
4266 if (!is_valid_u16((yyvsp[-1].integer))) {
4267 semantic_error(
"TCP payload size out of range");
4269 if ((yyvsp[-3].integer) != ((yyvsp[-5].integer) +(yyvsp[-1].integer))) {
4270 semantic_error(
"inconsistent TCP sequence numbers and payload size");
4276 #line 4277 "parser.cc" 4280 #line 1414 "parser.y" 4284 #line 4285 "parser.cc" 4288 #line 1417 "parser.y" 4290 if (!is_valid_u32((yyvsp[0].integer))) {
4291 semantic_error(
"TCP ack sequence number out of range");
4295 #line 4296 "parser.cc" 4299 #line 1426 "parser.y" 4303 #line 4304 "parser.cc" 4307 #line 1429 "parser.y" 4309 if (!is_valid_u16((yyvsp[0].integer))) {
4310 semantic_error(
"TCP window value out of range");
4312 (yyval.
window) = (yyvsp[0].integer);
4314 #line 4315 "parser.cc" 4318 #line 1438 "parser.y" 4320 (yyval.
tcp_options) =
new cQueue(
"opt_tcp_options");
4322 #line 4323 "parser.cc" 4326 #line 1441 "parser.y" 4330 #line 4331 "parser.cc" 4334 #line 1444 "parser.y" 4338 #line 4339 "parser.cc" 4342 #line 1451 "parser.y" 4347 #line 4348 "parser.cc" 4351 #line 1455 "parser.y" 4356 #line 4357 "parser.cc" 4360 #line 1463 "parser.y" 4364 #line 4365 "parser.cc" 4368 #line 1466 "parser.y" 4372 #line 4373 "parser.cc" 4376 #line 1469 "parser.y" 4379 if (!is_valid_u16((yyvsp[0].integer))) {
4380 semantic_error(
"mss value out of range");
4382 (yyval.
tcp_option)->setMss((yyvsp[0].integer));
4384 #line 4385 "parser.cc" 4388 #line 1476 "parser.y" 4391 if (!is_valid_u8((yyvsp[0].integer))) {
4392 semantic_error(
"window scale shift count out of range");
4394 (yyval.
tcp_option)->setWindowScale((yyvsp[0].integer));
4396 #line 4397 "parser.cc" 4400 #line 1483 "parser.y" 4404 #line 4405 "parser.cc" 4408 #line 1486 "parser.y" 4411 (yyval.
tcp_option)->setBlockList((yyvsp[0].sack_block_list));
4413 #line 4414 "parser.cc" 4417 #line 1490 "parser.y" 4421 if (!is_valid_u32((yyvsp[-2].integer))) {
4422 semantic_error(
"ts val out of range");
4424 if (!is_valid_u32((yyvsp[0].integer))) {
4425 semantic_error(
"ecr val out of range");
4427 val = (yyvsp[-2].integer);
4428 ecr = (yyvsp[0].integer);
4432 #line 4433 "parser.cc" 4436 #line 1507 "parser.y" 4441 #line 4442 "parser.cc" 4445 #line 1511 "parser.y" 4449 #line 4450 "parser.cc" 4453 #line 1517 "parser.y" 4455 #line 4456 "parser.cc" 4459 #line 1518 "parser.y" 4464 #line 4465 "parser.cc" 4468 #line 1522 "parser.y" 4472 #line 4473 "parser.cc" 4476 #line 1528 "parser.y" 4478 if (!is_valid_u16((yyvsp[-2].integer))) {
4479 semantic_error(
"start value out of range");
4481 if (!is_valid_u16((yyvsp[0].integer))) {
4482 semantic_error(
"end value out of range");
4486 #line 4487 "parser.cc" 4490 #line 1540 "parser.y" 4492 #line 4493 "parser.cc" 4496 #line 1541 "parser.y" 4501 #line 4502 "parser.cc" 4505 #line 1545 "parser.y" 4509 #line 4510 "parser.cc" 4513 #line 1551 "parser.y" 4515 if (!is_valid_u16((yyvsp[-2].integer))) {
4516 semantic_error(
"start value out of range");
4518 if (!is_valid_u16((yyvsp[0].integer))) {
4519 semantic_error(
"end value out of range");
4523 #line 4524 "parser.cc" 4527 #line 1563 "parser.y" 4529 if (!is_valid_u32((yyvsp[-2].integer))) {
4530 semantic_error(
"TCP SACK left sequence number out of range\n");
4532 if (!is_valid_u32((yyvsp[0].integer))) {
4533 semantic_error(
"TCP SACK right sequence number out of range");
4538 #line 4539 "parser.cc" 4542 #line 1576 "parser.y" 4545 (yyval.
syscall)->end_usecs = (yyvsp[-6].time_usecs);
4546 (yyval.
syscall)->name = (yyvsp[-5].
string);
4547 (yyval.
syscall)->arguments = (yyvsp[-4].expression_list);
4548 (yyval.
syscall)->result = (yyvsp[-2].expression);
4549 (yyval.
syscall)->error = (yyvsp[-1].errno_info);
4550 (yyval.
syscall)->note = (yyvsp[0].
string);
4552 #line 4553 "parser.cc" 4556 #line 1588 "parser.y" 4560 #line 4561 "parser.cc" 4564 #line 1591 "parser.y" 4568 #line 4569 "parser.cc" 4572 #line 1597 "parser.y" 4574 (yyval.
string) = (yyvsp[0].
string);
4577 #line 4578 "parser.cc" 4581 #line 1604 "parser.y" 4585 #line 4586 "parser.cc" 4589 #line 1607 "parser.y" 4593 #line 4594 "parser.cc" 4597 #line 1613 "parser.y" 4602 #line 4603 "parser.cc" 4606 #line 1617 "parser.y" 4611 #line 4612 "parser.cc" 4615 #line 1624 "parser.y" 4619 #line 4620 "parser.cc" 4623 #line 1627 "parser.y" 4625 (yyval.
expression) = (yyvsp[0].expression); }
4626 #line 4627 "parser.cc" 4630 #line 1629 "parser.y" 4634 #line 4635 "parser.cc" 4638 #line 1632 "parser.y" 4640 if (!is_valid_u32((yyvsp[-1].integer))) {
4641 semantic_error(
"number out of range");
4643 (yyval.
expression) = new_integer_expression((yyvsp[-1].integer),
"%lu");
4645 #line 4646 "parser.cc" 4649 #line 1638 "parser.y" 4651 if (!is_valid_u32((yyvsp[-1].integer))) {
4652 semantic_error(
"number out of range");
4654 (yyval.
expression) = new_integer_expression((yyvsp[-1].integer),
"%lu");
4656 #line 4657 "parser.cc" 4660 #line 1644 "parser.y" 4662 if (!is_valid_u16((yyvsp[-1].integer))) {
4663 semantic_error(
"number out of range");
4665 (yyval.
expression) = new_integer_expression((yyvsp[-1].integer),
"%lu");
4667 #line 4668 "parser.cc" 4671 #line 1650 "parser.y" 4674 (yyval.
expression)->setString((yyvsp[0].
string));
4676 #line 4677 "parser.cc" 4680 #line 1654 "parser.y" 4683 (yyval.
expression)->setString((yyvsp[0].
string));
4686 #line 4687 "parser.cc" 4690 #line 1659 "parser.y" 4693 (yyval.
expression)->setString((yyvsp[-1].
string));
4696 #line 4697 "parser.cc" 4700 #line 1664 "parser.y" 4704 #line 4705 "parser.cc" 4708 #line 1667 "parser.y" 4712 #line 4713 "parser.cc" 4716 #line 1670 "parser.y" 4720 #line 4721 "parser.cc" 4724 #line 1673 "parser.y" 4728 #line 4729 "parser.cc" 4732 #line 1676 "parser.y" 4736 #line 4737 "parser.cc" 4740 #line 1679 "parser.y" 4744 #line 4745 "parser.cc" 4748 #line 1682 "parser.y" 4752 #line 4753 "parser.cc" 4756 #line 1685 "parser.y" 4760 #line 4761 "parser.cc" 4764 #line 1688 "parser.y" 4768 #line 4769 "parser.cc" 4772 #line 1691 "parser.y" 4776 #line 4777 "parser.cc" 4780 #line 1694 "parser.y" 4784 #line 4785 "parser.cc" 4788 #line 1697 "parser.y" 4792 #line 4793 "parser.cc" 4796 #line 1700 "parser.y" 4800 #line 4801 "parser.cc" 4804 #line 1708 "parser.y" 4806 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%ld");
4808 #line 4809 "parser.cc" 4812 #line 1714 "parser.y" 4814 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%#lx");
4816 #line 4817 "parser.cc" 4820 #line 1720 "parser.y" 4824 binary->
op = strdup(
"|");
4825 binary->
lhs = (yyvsp[-2].expression);
4826 binary->
rhs = (yyvsp[0].expression);
4829 #line 4830 "parser.cc" 4833 #line 1731 "parser.y" 4838 #line 4839 "parser.cc" 4842 #line 1735 "parser.y" 4845 (yyval.
expression)->setList((yyvsp[-1].expression_list));
4847 #line 4848 "parser.cc" 4851 #line 1742 "parser.y" 4853 if (!is_valid_u32((yyvsp[0].integer))) {
4854 semantic_error(
"srto_initial out of range\n");
4856 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
4858 #line 4859 "parser.cc" 4862 #line 1748 "parser.y" 4866 #line 4867 "parser.cc" 4870 #line 1754 "parser.y" 4872 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
4874 #line 4875 "parser.cc" 4878 #line 1757 "parser.y" 4880 #line 4881 "parser.cc" 4884 #line 1761 "parser.y" 4886 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
4888 #line 4889 "parser.cc" 4892 #line 1764 "parser.y" 4894 #line 4895 "parser.cc" 4898 #line 1768 "parser.y" 4900 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
4902 #line 4903 "parser.cc" 4906 #line 1771 "parser.y" 4909 (yyval.
expression)->setString((yyvsp[0].
string));
4911 #line 4912 "parser.cc" 4915 #line 1775 "parser.y" 4917 #line 4918 "parser.cc" 4921 #line 1779 "parser.y" 4927 rtoinfo->
srto_max = (yyvsp[-3].expression);
4928 rtoinfo->
srto_min = (yyvsp[-1].expression);
4931 #line 4932 "parser.cc" 4935 #line 1788 "parser.y" 4941 rtoinfo->
srto_max = (yyvsp[-3].expression);
4942 rtoinfo->
srto_min = (yyvsp[-1].expression);
4945 #line 4946 "parser.cc" 4949 #line 1800 "parser.y" 4951 if (!is_valid_u16((yyvsp[0].integer))) {
4952 semantic_error(
"sasoc_asocmaxrxt out of range");
4954 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
4956 #line 4957 "parser.cc" 4960 #line 1806 "parser.y" 4962 #line 4963 "parser.cc" 4966 #line 1810 "parser.y" 4968 if (!is_valid_u16((yyvsp[0].integer))) {
4969 semantic_error(
"sasoc_number_peer_destinations out of range");
4971 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
4973 #line 4974 "parser.cc" 4977 #line 1816 "parser.y" 4979 #line 4980 "parser.cc" 4983 #line 1820 "parser.y" 4985 if (!is_valid_u32((yyvsp[0].integer))) {
4986 semantic_error(
"sasoc_peer_rwnd out of range");
4988 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
4990 #line 4991 "parser.cc" 4994 #line 1826 "parser.y" 4996 #line 4997 "parser.cc" 5000 #line 1830 "parser.y" 5002 if (!is_valid_u32((yyvsp[0].integer))) {
5003 semantic_error(
"sasoc_local_rwnd out of range");
5005 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5007 #line 5008 "parser.cc" 5011 #line 1836 "parser.y" 5013 #line 5014 "parser.cc" 5017 #line 1840 "parser.y" 5019 if (!is_valid_u32((yyvsp[0].integer))) {
5020 semantic_error(
"sasoc_cookie_life out of range");
5022 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5024 #line 5025 "parser.cc" 5028 #line 1846 "parser.y" 5030 #line 5031 "parser.cc" 5034 #line 1851 "parser.y" 5044 (yyval.
expression)->setAssocParams(assocparams);
5046 #line 5047 "parser.cc" 5050 #line 1863 "parser.y" 5060 (yyval.
expression)->setAssocParams(assocparams);
5062 #line 5063 "parser.cc" 5066 #line 1878 "parser.y" 5068 if (!is_valid_u16((yyvsp[0].integer))) {
5069 semantic_error(
"sinit_num_ostreams out of range");
5071 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5073 #line 5074 "parser.cc" 5077 #line 1884 "parser.y" 5079 #line 5080 "parser.cc" 5083 #line 1888 "parser.y" 5085 if (!is_valid_u16((yyvsp[0].integer))) {
5086 semantic_error(
"sinit_max_instreams out of range");
5088 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5090 #line 5091 "parser.cc" 5094 #line 1894 "parser.y" 5096 #line 5097 "parser.cc" 5100 #line 1898 "parser.y" 5102 if (!is_valid_u16((yyvsp[0].integer))) {
5103 semantic_error(
"sinit_max_attempts out of range");
5105 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5107 #line 5108 "parser.cc" 5111 #line 1904 "parser.y" 5113 #line 5114 "parser.cc" 5117 #line 1908 "parser.y" 5119 if (!is_valid_u16((yyvsp[0].integer))) {
5120 semantic_error(
"sinit_max_init_timeo out of range");
5122 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5124 #line 5125 "parser.cc" 5128 #line 1914 "parser.y" 5130 #line 5131 "parser.cc" 5134 #line 1919 "parser.y" 5144 #line 5145 "parser.cc" 5148 #line 1933 "parser.y" 5150 if (strcmp((yyvsp[-15].
string),
"AF_INET") == 0) {
5153 }
else if (strcmp((yyvsp[-15].
string),
"AF_INET6") == 0) {
5158 #line 5159 "parser.cc" 5162 #line 1945 "parser.y" 5164 #line 5165 "parser.cc" 5168 #line 1946 "parser.y" 5169 { (yyval.
expression) = (yyvsp[0].expression); }
5170 #line 5171 "parser.cc" 5174 #line 1950 "parser.y" 5176 if (!is_valid_u32((yyvsp[0].integer))) {
5177 semantic_error(
"spp_hbinterval out of range");
5179 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5181 #line 5182 "parser.cc" 5185 #line 1956 "parser.y" 5187 #line 5188 "parser.cc" 5191 #line 1960 "parser.y" 5193 if (!is_valid_u32((yyvsp[0].integer))) {
5194 semantic_error(
"spp_pathmtu out of range");
5196 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5198 #line 5199 "parser.cc" 5202 #line 1966 "parser.y" 5204 #line 5205 "parser.cc" 5208 #line 1970 "parser.y" 5210 if (!is_valid_u16((yyvsp[0].integer))) {
5211 semantic_error(
"spp_pathmaxrxt out of range");
5213 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5215 #line 5216 "parser.cc" 5219 #line 1976 "parser.y" 5221 #line 5222 "parser.cc" 5225 #line 1980 "parser.y" 5226 { (yyval.
expression) = (yyvsp[0].expression); }
5227 #line 5228 "parser.cc" 5231 #line 1984 "parser.y" 5233 if (!is_valid_u32((yyvsp[0].integer))) {
5234 semantic_error(
"spp_ipv6_flowlabel out of range");
5236 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5238 #line 5239 "parser.cc" 5242 #line 1990 "parser.y" 5244 #line 5245 "parser.cc" 5248 #line 1994 "parser.y" 5250 if (!is_valid_u8((yyvsp[0].integer))) {
5251 semantic_error(
"spp_dscp out of range");
5253 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hhu");
5255 #line 5256 "parser.cc" 5259 #line 2000 "parser.y" 5261 #line 5262 "parser.cc" 5265 #line 2005 "parser.y" 5274 params->
spp_flags = (yyvsp[-5].expression);
5276 params->
spp_dscp = (yyvsp[-1].expression);
5279 #line 5280 "parser.cc" 5283 #line 2019 "parser.y" 5292 params->
spp_flags = (yyvsp[-5].expression);
5294 params->
spp_dscp = (yyvsp[-1].expression);
5297 #line 5298 "parser.cc" 5301 #line 2035 "parser.y" 5302 { (yyval.
expression) = (yyvsp[0].expression); }
5303 #line 5304 "parser.cc" 5307 #line 2039 "parser.y" 5309 if (!is_valid_u32((yyvsp[0].integer))) {
5310 semantic_error(
"sstat_rwnd out of range");
5312 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5314 #line 5315 "parser.cc" 5318 #line 2045 "parser.y" 5320 #line 5321 "parser.cc" 5324 #line 2049 "parser.y" 5326 if (!is_valid_u16((yyvsp[0].integer))) {
5327 semantic_error(
"sstat_unackdata out of range");
5329 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5331 #line 5332 "parser.cc" 5335 #line 2055 "parser.y" 5337 #line 5338 "parser.cc" 5341 #line 2059 "parser.y" 5343 if (!is_valid_u16((yyvsp[0].integer))) {
5344 semantic_error(
"sstat_penddata out of range");
5346 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5348 #line 5349 "parser.cc" 5352 #line 2065 "parser.y" 5354 #line 5355 "parser.cc" 5358 #line 2069 "parser.y" 5360 if (!is_valid_u16((yyvsp[0].integer))) {
5361 semantic_error(
"sstat_instrms out of range");
5363 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5365 #line 5366 "parser.cc" 5369 #line 2075 "parser.y" 5371 #line 5372 "parser.cc" 5375 #line 2079 "parser.y" 5377 if (!is_valid_u16((yyvsp[0].integer))) {
5378 semantic_error(
"sstat_outstrms out of range");
5380 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5382 #line 5383 "parser.cc" 5386 #line 2085 "parser.y" 5388 #line 5389 "parser.cc" 5392 #line 2089 "parser.y" 5394 if (!is_valid_u32((yyvsp[0].integer))) {
5395 semantic_error(
"sstat_fragmentation_point out of range");
5397 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5399 #line 5400 "parser.cc" 5403 #line 2095 "parser.y" 5405 #line 5406 "parser.cc" 5409 #line 2099 "parser.y" 5411 #line 5412 "parser.cc" 5415 #line 2105 "parser.y" 5430 #line 5431 "parser.cc" 5434 #line 2120 "parser.y" 5449 #line 5450 "parser.cc" 5453 #line 2137 "parser.y" 5455 if (!is_valid_u16((yyvsp[0].integer))) {
5456 semantic_error(
"sinfo_stream out of range");
5458 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5460 #line 5461 "parser.cc" 5464 #line 2143 "parser.y" 5466 #line 5467 "parser.cc" 5470 #line 2147 "parser.y" 5472 if (!is_valid_u16((yyvsp[0].integer))) {
5473 semantic_error(
"sinfo_ssn out of range");
5475 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5477 #line 5478 "parser.cc" 5481 #line 2153 "parser.y" 5483 #line 5484 "parser.cc" 5487 #line 2157 "parser.y" 5488 { (yyval.
expression) = (yyvsp[0].expression); }
5489 #line 5490 "parser.cc" 5493 #line 2161 "parser.y" 5495 if (!is_valid_u32((yyvsp[-1].integer))) {
5496 semantic_error(
"sinfo_ppid out of range");
5498 (yyval.
expression) = new_integer_expression((yyvsp[-1].integer),
"%u");
5500 #line 5501 "parser.cc" 5504 #line 2167 "parser.y" 5506 #line 5507 "parser.cc" 5510 #line 2171 "parser.y" 5512 if (!is_valid_u32((yyvsp[0].integer))) {
5513 semantic_error(
"sinfo_context out of range");
5515 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5517 #line 5518 "parser.cc" 5521 #line 2177 "parser.y" 5523 #line 5524 "parser.cc" 5527 #line 2181 "parser.y" 5529 if (!is_valid_u32((yyvsp[0].integer))) {
5530 semantic_error(
"sinfo_timetolive out of range");
5532 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5534 #line 5535 "parser.cc" 5538 #line 2187 "parser.y" 5540 #line 5541 "parser.cc" 5544 #line 2191 "parser.y" 5546 if (!is_valid_u32((yyvsp[0].integer))) {
5547 semantic_error(
"sinfo_tsn out of range");
5549 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5551 #line 5552 "parser.cc" 5555 #line 2197 "parser.y" 5557 #line 5558 "parser.cc" 5561 #line 2201 "parser.y" 5563 if (!is_valid_u32((yyvsp[0].integer))) {
5564 semantic_error(
"sinfo_cumtsn out of range");
5566 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5568 #line 5569 "parser.cc" 5572 #line 2207 "parser.y" 5574 #line 5575 "parser.cc" 5578 #line 2213 "parser.y" 5583 info->
sinfo_ssn = (yyvsp[-17].expression);
5588 info->
sinfo_tsn = (yyvsp[-7].expression);
5593 #line 5594 "parser.cc" 5597 #line 2228 "parser.y" 5602 info->
sinfo_ssn = (yyvsp[-13].expression);
5607 info->
sinfo_tsn = (yyvsp[-3].expression);
5612 #line 5613 "parser.cc" 5616 #line 2244 "parser.y" 5618 printf(
"SRS_FLAGS = INTEGER\n");
5619 if (!is_valid_u16((yyvsp[0].integer))) {
5620 semantic_error(
"srs_flags out of range");
5622 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%hu");
5624 #line 5625 "parser.cc" 5628 #line 2251 "parser.y" 5630 printf(
"SRS_FLAGS = MYWORD\n");
5632 (yyval.
expression)->setString((yyvsp[0].
string));
5634 #line 5635 "parser.cc" 5638 #line 2256 "parser.y" 5642 #line 5643 "parser.cc" 5646 #line 2262 "parser.y" 5652 if (!is_valid_u16((yyvsp[-5].integer))) {
5653 semantic_error(
"srs_number_streams out of range");
5659 #line 5660 "parser.cc" 5663 #line 2274 "parser.y" 5669 if (!is_valid_u16((yyvsp[-5].integer))) {
5670 semantic_error(
"srs_number_streams out of range");
5676 #line 5677 "parser.cc" 5680 #line 2289 "parser.y" 5685 if (!is_valid_u16((yyvsp[-5].integer))) {
5686 semantic_error(
"sas_instrms out of range");
5688 rs->
sas_instrms = new_integer_expression((yyvsp[-5].integer),
"%hu");
5689 if (!is_valid_u16((yyvsp[-1].integer))) {
5690 semantic_error(
"sas_outstrms out of range");
5692 rs->
sas_outstrms = new_integer_expression((yyvsp[-1].integer),
"%hu");
5695 #line 5696 "parser.cc" 5699 #line 2303 "parser.y" 5704 if (!is_valid_u16((yyvsp[-5].integer))) {
5705 semantic_error(
"sas_instrms out of range");
5707 rs->
sas_instrms = new_integer_expression((yyvsp[-5].integer),
"%hu");
5708 if (!is_valid_u16((yyvsp[-1].integer))) {
5709 semantic_error(
"sas_outstrms out of range");
5711 rs->
sas_outstrms = new_integer_expression((yyvsp[-1].integer),
"%hu");
5714 #line 5715 "parser.cc" 5718 #line 2321 "parser.y" 5722 assocval->
assoc_id = (yyvsp[-5].expression);
5726 #line 5727 "parser.cc" 5730 #line 2328 "parser.y" 5738 #line 5739 "parser.cc" 5742 #line 2338 "parser.y" 5744 if (!is_valid_u32((yyvsp[0].integer))) {
5745 semantic_error(
"sack_delay out of range");
5747 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5749 #line 5750 "parser.cc" 5753 #line 2344 "parser.y" 5757 #line 5758 "parser.cc" 5761 #line 2349 "parser.y" 5763 if (!is_valid_u32((yyvsp[0].integer))) {
5764 semantic_error(
"sack_freq out of range");
5766 (yyval.
expression) = new_integer_expression((yyvsp[0].integer),
"%u");
5768 #line 5769 "parser.cc" 5772 #line 2355 "parser.y" 5774 #line 5775 "parser.cc" 5778 #line 2358 "parser.y" 5783 sackinfo->
sack_delay = (yyvsp[-3].expression);
5784 sackinfo->
sack_freq = (yyvsp[-1].expression);
5787 #line 5788 "parser.cc" 5791 #line 2366 "parser.y" 5796 sackinfo->
sack_delay = (yyvsp[-3].expression);
5797 sackinfo->
sack_freq = (yyvsp[-1].expression);
5800 #line 5801 "parser.cc" 5804 #line 2377 "parser.y" 5808 #line 5809 "parser.cc" 5812 #line 2380 "parser.y" 5815 (yyval.
errno_info)->errno_macro = (yyvsp[-1].
string);
5816 (yyval.
errno_info)->strerror = (yyvsp[0].
string);
5818 #line 5819 "parser.cc" 5822 #line 2388 "parser.y" 5826 #line 5827 "parser.cc" 5830 #line 2391 "parser.y" 5832 (yyval.
string) = (yyvsp[0].
string);
5834 #line 5835 "parser.cc" 5838 #line 2397 "parser.y" 5840 (yyval.
string) = (yyvsp[-1].
string);
5842 #line 5843 "parser.cc" 5846 #line 2403 "parser.y" 5848 (yyval.
string) = (yyvsp[0].
string);
5850 #line 5851 "parser.cc" 5854 #line 2406 "parser.y" 5856 asprintf(&((yyval.
string)),
"%s %s", (yyvsp[-1].string), (yyvsp[0].string));
5857 free((yyvsp[-1].
string));
5858 free((yyvsp[0].
string));
5860 #line 5861 "parser.cc" 5864 #line 5865 "parser.cc" 5893 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
5894 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
5895 yystate = yytable[yystate];
5914 #if ! YYERROR_VERBOSE 5915 yyerror (
YY_(
"syntax error"));
5917 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 5920 char const *yymsgp =
YY_(
"syntax error");
5921 int yysyntax_error_status;
5922 yysyntax_error_status = YYSYNTAX_ERROR;
5923 if (yysyntax_error_status == 0)
5925 else if (yysyntax_error_status == 1)
5927 if (yymsg != yymsgbuf)
5933 yymsg_alloc =
sizeof yymsgbuf;
5934 yysyntax_error_status = 2;
5938 yysyntax_error_status = YYSYNTAX_ERROR;
5943 if (yysyntax_error_status == 2)
5944 goto yyexhaustedlab;
5946 # undef YYSYNTAX_ERROR 5950 yyerror_range[1] =
yylloc;
5952 if (yyerrstatus == 3)
5965 yydestruct (
"Error: discarding",
5987 yyerror_range[1] = yylsp[1-yylen];
6005 yyn = yypact[yystate];
6021 yyerror_range[1] = *yylsp;
6022 yydestruct (
"Error: popping",
6023 yystos[yystate], yyvsp, yylsp);
6033 yyerror_range[2] =
yylloc;
6060 #if !defined yyoverflow || YYERROR_VERBOSE 6065 yyerror (
YY_(
"memory exhausted"));
6076 yydestruct (
"Cleanup: discarding lookahead",
6083 while (yyssp != yyss)
6085 yydestruct (
"Cleanup: popping",
6086 yystos[*yyssp], yyvsp, yylsp);
6094 if (yymsg != yymsgbuf)
PacketDrillExpression * spp_assoc_id
Definition: PacketDrillUtils.h:390
PacketDrillExpression * spp_pathmaxrxt
Definition: PacketDrillUtils.h:393
#define SCTP_SHUTDOWN_COMPLETE_CHUNK_TYPE
Definition: PacketDrillUtils.h:82
static PacketDrillSctpChunk * buildHeartbeatChunk(int64 flgs, PacketDrillSctpParameter *info)
Definition: PacketDrill.cc:882
#define SCTP_COOKIE_ACK_LENGTH
Definition: SCTPAssociation.h:219
Definition: PacketDrillUtils.h:529
enum direction_t direction
Definition: parser.h:204
#define SCTP_DATA_CHUNK_B_BIT
Definition: PacketDrillUtils.h:88
cQueue * stream_list
Definition: parser.h:230
#define SCTP_DATA_CHUNK_I_BIT
Definition: PacketDrillUtils.h:86
void insert(std::vector< T > &v, int pos, const T &a)
Definition: stlutils.h:79
#define YYSTACK_FREE
Definition: parser.cc:683
PacketDrillSctpChunk * sctp_chunk
Definition: parser.h:234
PacketDrillExpression * sasoc_assoc_id
Definition: PacketDrillUtils.h:373
static cPacket * buildSCTPPacket(int address_family, enum direction_t direction, cQueue *chunks)
Definition: PacketDrill.cc:247
#define SCTP_INIT_ACK_CHUNK_TYPE
Definition: PacketDrillUtils.h:72
struct errno_spec * errno_info
Definition: parser.h:225
#define YYLLOC_DEFAULT(Current, Rhs, N)
Definition: parser.cc:1738
Definition: PacketDrillUtils.h:239
Definition: PacketDrillUtils.h:413
static PacketDrillSctpChunk * buildReconfigChunk(int64 flgs, cQueue *parameters)
Definition: PacketDrill.cc:937
Definition: PacketDrillUtils.h:258
void setInetPacket(cPacket *pkt)
Definition: PacketDrillUtils.h:479
Definition: SCTPAssociation.h:189
Definition: PacketDrillUtils.h:235
#define YYLAST
Definition: parser.cc:776
#define TCPOPT_NOP
Definition: PacketDrillUtils.h:58
PacketDrillStruct * cause_item
Definition: parser.h:218
#define YY_REDUCE_PRINT(Rule)
Definition: parser.cc:1928
Definition: PacketDrillUtils.h:357
PacketDrillExpression * sinfo_assoc_id
Definition: PacketDrillUtils.h:410
int32 window
Definition: parser.h:206
Definition: PacketDrillUtils.h:238
#define SCTP_ABORT_CHUNK_TYPE
Definition: PacketDrillUtils.h:76
PacketDrillExpression * sack_freq
Definition: PacketDrillUtils.h:385
Definition: SCTPAssociation.h:161
#define YYTERROR
Definition: parser.cc:1729
#define SCTP_DATA_CHUNK_LENGTH
Definition: SCTPAssociation.h:214
#define SCTP_ABORT_CHUNK_T_BIT
Definition: PacketDrillUtils.h:91
Definition: PacketDrillUtils.h:246
Definition: PacketDrillUtils.h:349
static cPacket * buildUDPPacket(int address_family, enum direction_t direction, uint16 udp_payload_bytes, char **error)
Definition: PacketDrill.cc:78
#define SCTP_SHUTDOWN_ACK_CHUNK_TYPE
Definition: PacketDrillUtils.h:78
static PacketDrillSctpChunk * buildInitAckChunk(int64 flgs, int64 tag, int64 a_rwnd, int64 os, int64 is, int64 tsn, cQueue *parameters)
Definition: PacketDrill.cc:609
uint8_t protocol
Definition: TCP_NSC.cc:88
PacketDrillExpression * srs_number_streams
Definition: PacketDrillUtils.h:416
char * op
Definition: PacketDrillUtils.h:344
Definition: PacketDrillUtils.h:627
static PacketDrillSctpChunk * buildShutdownChunk(int64 flgs, int64 cum_tsn)
Definition: PacketDrill.cc:803
static PacketDrillSctpChunk * buildCookieEchoChunk(int64 flgs, int64 len, PacketDrillBytes *cookie)
Definition: PacketDrill.cc:772
Definition: PacketDrillUtils.h:249
Definition: SCTPAssociation.h:170
PacketDrillExpression * sinfo_tsn
Definition: PacketDrillUtils.h:408
#define TCPOLEN_MAXSEG
Definition: PacketDrillUtils.h:60
struct YYSTYPE::@3 tcp_sequence_info
void parse_and_finalize_config(struct invocation *invocation)
Definition: parser.cc:241
PacketDrillExpression * sstat_penddata
Definition: PacketDrillUtils.h:426
PacketDrillExpression * sstat_state
Definition: PacketDrillUtils.h:423
Definition: PacketDrillUtils.h:186
uint8 byte
Definition: parser.h:233
#define SCTP_SACK_CHUNK_TYPE
Definition: PacketDrillUtils.h:73
#define YYEMPTY
Definition: parser.cc:1701
#define TCPOPT_EOL
Definition: PacketDrillUtils.h:57
void addOption(PacketDrillOption *opt)
Definition: PacketDrillUtils.h:624
#define YY_(Msgid)
Definition: parser.cc:585
static cPacket * buildTCPPacket(int address_family, enum direction_t direction, const char *flags, uint32 startSequence, uint16 tcpPayloadBytes, uint32 ackSequence, int32 window, cQueue *tcpOptions, char **error)
Definition: PacketDrill.cc:175
#define YYINITDEPTH
Definition: parser.cc:1934
enum direction_t getDirection() const
Definition: PacketDrillUtils.h:476
Definition: PacketDrillUtils.h:263
void setDirection(enum direction_t dir)
Definition: PacketDrillUtils.h:477
PacketDrillExpression * assoc_id
Definition: PacketDrillUtils.h:367
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: parser.cc:636
short int yytype_int16
Definition: parser.cc:559
PacketDrillExpression * sinfo_context
Definition: PacketDrillUtils.h:406
#define SCTP_RECONFIG_CHUNK_TYPE
Definition: PacketDrillUtils.h:84
Definition: PacketDrillUtils.h:260
Definition: SCTPAssociation.h:159
PacketDrillBytes * byte_list
Definition: parser.h:232
static PacketDrillSctpChunk * buildAbortChunk(int64 flgs)
Definition: PacketDrill.cc:847
PacketDrillExpression * srs_flags
Definition: PacketDrillUtils.h:415
#define YYDPRINTF(Args)
Definition: parser.cc:1925
Definition: PacketDrillUtils.h:302
Definition: PacketDrillUtils.h:227
YYSTYPE yylval
Definition: parser.cc:2196
uint32 sequence_number
Definition: parser.h:207
This class provides the generic interface for network addresses.
Definition: L3Address.h:41
Definition: PacketDrillUtils.h:257
Definition: PacketDrillUtils.h:651
Definition: PacketDrillUtils.h:259
PacketDrillExpression * srs_stream_list
Definition: PacketDrillUtils.h:417
Definition: PacketDrillUtils.h:366
YYLTYPE yylloc
Definition: parser.cc:2200
static PacketDrillSctpChunk * buildShutdownAckChunk(int64 flgs)
Definition: PacketDrill.cc:822
PacketDrillExpression * sas_assoc_id
Definition: PacketDrillUtils.h:435
char * string
Definition: parser.h:201
Definition: PacketDrillUtils.h:262
#define TCPOPT_SACK_PERMITTED
Definition: PacketDrillUtils.h:63
void addEvent(PacketDrillEvent *evt)
Definition: PacketDrillUtils.h:623
static PacketDrillSctpChunk * buildErrorChunk(int64 flgs, cQueue *causes)
Definition: PacketDrill.cc:862
PacketDrillExpression * sinfo_ppid
Definition: PacketDrillUtils.h:405
PacketDrillStruct * sack_block
Definition: parser.h:217
PacketDrillSctpParameter * sctp_parameter
Definition: parser.h:222
Definition: PacketDrillUtils.h:482
PacketDrillExpression * sas_outstrms
Definition: PacketDrillUtils.h:437
#define YYABORT
Definition: parser.cc:1705
#define SCTP_DATA_CHUNK_E_BIT
Definition: PacketDrillUtils.h:89
cQueue * sack_block_list
Definition: parser.h:229
#define yytable_value_is_error(Yytable_value)
Definition: parser.cc:1005
Definition: PacketDrillUtils.h:343
const value< double, compose< units::m, pow< units::s,-1 > > > c(299792458)
#define NO_TIME_RANGE
Definition: PacketDrillUtils.h:197
int yychar
Definition: parser.cc:2193
static PacketDrillSctpChunk * buildDataChunk(int64 flgs, int64 len, int64 tsn, int64 sid, int64 ssn, int64 ppid)
Definition: PacketDrill.cc:453
PacketDrillExpression * spp_hbinterval
Definition: PacketDrillUtils.h:392
yytype_int16 yyss_alloc
Definition: parser.cc:719
int getWireProtocol() const
Definition: PacketDrillUtils.h:458
#define YYMAXDEPTH
Definition: parser.cc:1945
PacketDrillPacket * packet
Definition: parser.h:214
Definition: PacketDrillUtils.h:264
Definition: SCTPAssociation.h:156
PacketDrillExpression * sinfo_timetolive
Definition: PacketDrillUtils.h:407
PacketDrillExpression * spp_flags
Definition: PacketDrillUtils.h:395
#define TCPOPT_MAXSEG
Definition: PacketDrillUtils.h:59
#define SCTP_INIT_CHUNK_TYPE
Definition: PacketDrillUtils.h:71
YYSTYPE yyvs_alloc
Definition: parser.cc:720
PacketDrillExpression * sinit_max_instreams
Definition: PacketDrillUtils.h:359
PacketDrillExpression * spp_ipv6_flowlabel
Definition: PacketDrillUtils.h:396
#define SCTP_DATA_CHUNK_U_BIT
Definition: PacketDrillUtils.h:87
static PacketDrillSctpChunk * buildCookieAckChunk(int64 flgs)
Definition: PacketDrill.cc:794
Definition: PacketDrillUtils.h:372
PacketDrillExpression * sstat_fragmentation_point
Definition: PacketDrillUtils.h:429
uint64_t uint64
Definition: Compat.h:28
Definition: PacketDrillUtils.h:401
#define YYFINAL
Definition: parser.cc:774
Definition: PacketDrillUtils.h:434
#define YYEOF
Definition: parser.cc:1702
cQueue * expression_list
Definition: parser.h:220
Definition: PacketDrillUtils.h:731
PacketDrillExpression * sstat_unackdata
Definition: PacketDrillUtils.h:425
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Definition: parser.cc:740
PacketDrillExpression * sasoc_local_rwnd
Definition: PacketDrillUtils.h:377
Definition: PacketDrillUtils.h:312
PacketDrillExpression * sstat_rwnd
Definition: PacketDrillUtils.h:424
PacketDrillExpression * sasoc_number_peer_destinations
Definition: PacketDrillUtils.h:375
struct command_spec * command
Definition: parser.h:216
Definition: PacketDrillUtils.h:185
PacketDrillExpression * srto_assoc_id
Definition: PacketDrillUtils.h:350
PacketDrillExpression * sinfo_flags
Definition: PacketDrillUtils.h:404
#define SCTP_PAD_CHUNK_TYPE
Definition: PacketDrillUtils.h:83
Definition: PacketDrillUtils.h:389
Definition: SCTPAssociation.h:157
PacketDrillExpression * sasoc_cookie_life
Definition: PacketDrillUtils.h:378
direction_t
Definition: PacketDrillUtils.h:183
static PacketDrillSctpChunk * buildInitChunk(int64 flgs, int64 tag, int64 a_rwnd, int64 os, int64 is, int64 tsn, cQueue *parameters)
Definition: PacketDrill.cc:523
Definition: PacketDrillUtils.h:228
uint32_t uint32
Definition: Compat.h:30
#define SCTP_COOKIE_ACK_CHUNK_TYPE
Definition: PacketDrillUtils.h:81
Definition: SCTPAssociation.h:181
#define TCPOLEN_SACK_PERMITTED
Definition: PacketDrillUtils.h:64
PacketDrillExpression * srto_max
Definition: PacketDrillUtils.h:352
PacketDrillExpression * sinit_max_init_timeo
Definition: PacketDrillUtils.h:361
static PacketDrillSctpChunk * buildSackChunk(int64 flgs, int64 cum_tsn, int64 a_rwnd, cQueue *gaps, cQueue *dups)
Definition: PacketDrill.cc:701
Definition: parser.cc:717
Definition: PacketDrillUtils.h:465
PacketDrillExpression * sasoc_asocmaxrxt
Definition: PacketDrillUtils.h:374
Definition: PacketDrillUtils.h:261
struct syscall_spec * syscall
Definition: parser.h:215
#define SCTP_IPV4_ADDRESS_PARAMETER_TYPE
Definition: PacketDrillUtils.h:170
PacketDrillExpression * sinfo_stream
Definition: PacketDrillUtils.h:402
cQueue * tcp_options
Definition: parser.h:224
cQueue * sctp_chunk_list
Definition: parser.h:226
PacketDrillExpression * sinfo_ssn
Definition: PacketDrillUtils.h:403
Definition: SCTPAssociation.h:158
#define TCPOLEN_WINDOW
Definition: PacketDrillUtils.h:62
PacketDrillExpression * sstat_assoc_id
Definition: PacketDrillUtils.h:422
static PacketDrillSctpChunk * buildShutdownCompleteChunk(int64 flgs)
Definition: PacketDrill.cc:831
PacketDrillExpression * sstat_outstrms
Definition: PacketDrillUtils.h:428
PacketDrillExpression * spp_dscp
Definition: PacketDrillUtils.h:397
Definition: PacketDrillUtils.h:226
int yynerrs
Definition: parser.cc:2204
cQueue * cause_list
Definition: parser.h:231
PacketDrillExpression * sack_delay
Definition: PacketDrillUtils.h:384
Definition: PacketDrillUtils.h:236
Definition: PacketDrillUtils.h:253
Definition: PacketDrillUtils.h:229
PacketDrillExpression * lhs
Definition: PacketDrillUtils.h:345
PacketDrillExpression * srto_min
Definition: PacketDrillUtils.h:353
Definition: PacketDrillUtils.h:337
#define TCPOLEN_TIMESTAMP
Definition: PacketDrillUtils.h:67
Definition: PacketDrillUtils.h:201
YYLTYPE yyls_alloc
Definition: parser.cc:721
#define SCTP_HEARTBEAT_ACK_CHUNK_TYPE
Definition: PacketDrillUtils.h:75
Definition: PacketDrillUtils.h:382
PacketDrillOption * option
Definition: parser.h:223
PacketDrillEvent * event
Definition: parser.h:213
PacketDrillExpression * expression
Definition: parser.h:219
Definition: PacketDrillUtils.h:251
#define YYSIZE_T
Definition: parser.cc:569
PacketDrillExpression * sinit_max_attempts
Definition: PacketDrillUtils.h:360
PacketDrillExpression * sinit_num_ostreams
Definition: PacketDrillUtils.h:358
PacketDrillExpression * sstat_primary
Definition: PacketDrillUtils.h:430
int64 time_usecs
Definition: parser.h:203
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition: parser.cc:1926
Definition: PacketDrillUtils.h:255
PacketDrillExpression * sstat_instrms
Definition: PacketDrillUtils.h:427
PacketDrillExpression * srs_assoc_id
Definition: PacketDrillUtils.h:414
#define SCTP_SHUTDOWN_COMPLETE_CHUNK_T_BIT
Definition: PacketDrillUtils.h:92
#define YYNTOKENS
Definition: parser.cc:779
PacketDrillExpression * sack_assoc_id
Definition: PacketDrillUtils.h:383
PacketDrillExpression * sas_instrms
Definition: PacketDrillUtils.h:436
#define YYACCEPT
Definition: parser.cc:1704
#define SCTP_COOKIE_ECHO_CHUNK_TYPE
Definition: PacketDrillUtils.h:80
#define SCTP_ERROR_CHUNK_TYPE
Definition: PacketDrillUtils.h:79
#define SCTP_SHUTDOWN_CHUNK_TYPE
Definition: PacketDrillUtils.h:77
Definition: PacketDrillUtils.h:252
static PacketDrillSctpChunk * buildHeartbeatAckChunk(int64 flgs, PacketDrillSctpParameter *info)
Definition: PacketDrill.cc:919
PacketDrillExpression * spp_address
Definition: PacketDrillUtils.h:391
#define TCPOPT_WINDOW
Definition: PacketDrillUtils.h:61
PacketDrillExpression * sasoc_peer_rwnd
Definition: PacketDrillUtils.h:376
int64_t int64
Definition: Compat.h:29
int64 integer
Definition: parser.h:199
Definition: PacketDrillUtils.h:254
PacketDrillExpression * sinfo_cumtsn
Definition: PacketDrillUtils.h:409
Stores a 128-bit IPv6 address in an efficient way.
Definition: IPv6Address.h:39
#define TCPOPT_SACK
Definition: PacketDrillUtils.h:65
IPv4 address.
Definition: IPv4Address.h:45
Definition: PacketDrillUtils.h:421
#define YYTRANSLATE(YYX)
Definition: parser.cc:792
PacketDrillExpression * srto_initial
Definition: PacketDrillUtils.h:351
PacketDrillExpression * assoc_value
Definition: PacketDrillUtils.h:368
Definition: PacketDrillUtils.h:250
PacketDrillExpression * rhs
Definition: PacketDrillUtils.h:346
#define SCTP_DATA_CHUNK_TYPE
Definition: PacketDrillUtils.h:70
PacketDrillExpression * spp_pathmtu
Definition: PacketDrillUtils.h:394
#define yypact_value_is_default(Yystate)
Definition: parser.cc:1000
#define TCPOPT_TIMESTAMP
Definition: PacketDrillUtils.h:66
Definition: PacketDrillUtils.h:666
#define YYSTACK_BYTES(N)
Definition: parser.cc:729
#define SCTP_IPV6_ADDRESS_PARAMETER_TYPE
Definition: PacketDrillUtils.h:171
Definition: PacketDrillUtils.h:681
#define YYSTACK_ALLOC
Definition: parser.cc:682
PacketDrillTcpOption * tcp_option
Definition: parser.h:221
Definition: PacketDrillUtils.h:256
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: parser.cc:635
Definition: PacketDrillUtils.h:237
#define YY_STACK_PRINT(Bottom, Top)
Definition: parser.cc:1927
Definition: SCTPAssociation.h:160
#define SCTP_HEARTBEAT_CHUNK_TYPE
Definition: PacketDrillUtils.h:74