- Timestamp:
- 10/26/04 07:57:30 (18 years ago)
- Branches:
- 4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
- Children:
- a22c979
- Parents:
- 7e55902
- Location:
- lib
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/dagapi.c
rb36a3b7 r59c31da 44 44 # define IOM(OFF) (*(volatile unsigned *)(herd[dagfd].iom+(OFF))) 45 45 # define ARMOFFSET(FD) ({ int _off = ToHM4 - dag_info(FD)->phy_addr; \ 46 (_off == dag_info(FD)->buf_size) ? 0 : _off; })46 (_off == herd[FD].rx_memsize) ? 0 : _off; }) 47 47 48 48 # define CUROFFSET(FD) ({ int _off = pbm->curaddr - dag_info(FD)->phy_addr; \ 49 (_off == dag_info(FD)->buf_size) ? 0 : _off; })49 (_off == herd[FD].rx_memsize) ? 0 : _off; }) 50 50 # define SEGOFFSET(FD) ({ int _off = pbm->segaddr - dag_info(FD)->phy_addr; \ 51 (_off == dag_info(FD)->buf_size) ? 0 : _off; })51 (_off == herd[FD].rx_memsize) ? 0 : _off; }) 52 52 # define PBMOFFSET(FD) (herd[FD].brokencuraddr ? \ 53 53 SEGOFFSET(FD) : CUROFFSET(FD)) … … 61 61 * the reliable path to address the problem, for the moment. 62 62 */ 63 # define WRSAFE(FD,X) (((X)<8) ? ((X)+ dag_info(FD)->buf_size-8) : ((X)-8))63 # define WRSAFE(FD,X) (((X)<8) ? ((X)+herd[FD].rx_memsize-8) : ((X)-8)) 64 64 65 65 /* … … 73 73 daginf_t daginf; 74 74 unsigned brokencuraddr; /* fix for ECMs and Dag4.1s */ 75 unsigned byteswap; /* endinness for 3.4/3.51ecm */ 75 unsigned byteswap; /* endinness for 3.4/3.51ecm */ 76 unsigned rx_memaddr; /* cached rx hole base */ 77 unsigned rx_memsize; /* cached rx hole size */ 76 78 } sheep_t; 77 79 … … 79 81 80 82 static void panic(char *fmt, ...) __attribute__((noreturn, format (printf, 1, 2))); 83 static void dagpbmcheck(int dagfd); 81 84 82 85 char *dagpath(char *path, char *temp, int tempsize) { … … 116 119 panic("dag_open dag_clone dagfd for dagiom: %s\n", strerror(errno)); 117 120 118 if((herd[dagfd].iom = mmap(NULL, 2*PAGE_SIZE, PROT_READ | PROT_WRITE,121 if((herd[dagfd].iom = mmap(NULL, 16*PAGE_SIZE, PROT_READ | PROT_WRITE, 119 122 MAP_SHARED, herd[dagfd].dagiom, 0)) == MAP_FAILED) 120 123 return -1; /* errno set appropriately */ … … 126 129 dag_close(int dagfd) 127 130 { 131 if (herd[dagfd].buf != NULL) { 132 int buf_size=0; 133 134 if(dag_info(dagfd)->soft_caps.pbm) { 135 buf_size = ((dagpbm_t *)(herd[dagfd].iom + 136 dag_info(dagfd)->pbm_base))->memsize; 137 } else { 138 buf_size = dag_info(dagfd)->buf_size; 139 } 140 munmap(herd[dagfd].buf, 2*buf_size); 141 herd[dagfd].buf = NULL; 142 } 128 143 (void)close(herd[dagfd].dagiom); 144 if (herd[dagfd].iom != NULL) { 145 munmap(herd[dagfd].iom, 16*PAGE_SIZE); 146 herd[dagfd].iom = NULL; 147 } 129 148 memset(&herd[dagfd], 0, sizeof(herd[dagfd])); 130 149 herd[dagfd].dagiom = -1; … … 171 190 dag_configure(int dagfd, char *params) 172 191 { 173 int lock, tok, setatm ;192 int lock, tok, setatm, dagarm, val; 174 193 char temp1[80], temp2[80]; 175 194 daggpp_t *gpp = (daggpp_t *)(herd[dagfd].iom + … … 244 263 case 0x3200: 245 264 if(armcode(dagfd)) { 246 if(spawn(dagpath("tools/dagrun", temp1, 80), "-d", 247 herd[dagfd].dagname, 248 dagpath("arm/dag3atm-hash.b", 249 temp2, 80), NULL) < 0) 250 return -1; 265 dagarm=dag_clone(dagfd, DAGMINOR_ARM); 266 if(lseek(dagarm, (off_t)(dag_info(dagfd)->phy_base+(0x5c<<2)), SEEK_SET) < 0) 267 panic("dagioread lseek register 0x%x: %s\n", 0x5c, strerror(errno)); 268 if(read(dagarm, &val, sizeof(val)) != sizeof(val)) 269 panic("read /dev/dagarmN register 0x%x: %s\n", 0x5c, strerror(errno)); 270 close(dagarm); 271 if (val & 0x80) { 272 if(spawn(dagpath("tools/dagrun", temp1, 80), "-d", 273 herd[dagfd].dagname, 274 dagpath("arm/dag3pos-full.b", 275 temp2, 80), NULL) < 0) 276 return -1; 277 } else { 278 if(spawn(dagpath("tools/dagrun", temp1, 80), "-d", 279 herd[dagfd].dagname, 280 dagpath("arm/dag3atm-hash.b", 281 temp2, 80), NULL) < 0) 282 return -1; 283 } 251 284 } 252 285 break; … … 278 311 case 0x350e: 279 312 case 0x360d: 313 case 0x360e: 314 case 0x368e: 280 315 break; 281 316 /* byteswapped */ … … 299 334 case 0x423e: 300 335 case 0x4230: 336 case 0x4300: 337 case 0x430e: 301 338 case 0x6000: 302 339 case 0x6100: … … 371 408 return -1; /* errno set */ 372 409 373 memset(herd[dagfd].buf, 0, dag_info(dagfd)->buf_size);410 memset(herd[dagfd].buf, 0, herd[dagfd].rx_memsize); 374 411 375 412 switch(dag_info(dagfd)->device_code) { … … 384 421 case 0x351c: 385 422 case 0x350e: 423 case 0x360e: 424 case 0x368e: 386 425 case 0x3800: 387 426 case 0x4100: … … 391 430 case 0x423e: 392 431 case 0x4230: 432 case 0x4300: 433 case 0x430e: 393 434 case 0x6000: 394 435 case 0x6100: … … 419 460 case 0x351c: 420 461 case 0x350e: 462 case 0x360e: 463 case 0x368e: 421 464 case 0x3800: 422 465 case 0x4100: … … 426 469 case 0x423e: 427 470 case 0x4230: 471 case 0x4300: 472 case 0x430e: 428 473 case 0x6000: 429 474 case 0x6100: … … 446 491 void *sp, *p, *ep; 447 492 daginf_t *dip; 493 int buf_size=0; 494 495 dagpbm_t *pbm = (dagpbm_t *)(herd[dagfd].iom + 496 dag_info(dagfd)->pbm_base); 448 497 449 498 dip = dag_info(dagfd); 499 500 /* check pbm space is configured */ 501 dagpbmcheck(dagfd); 502 503 /* 504 * Get the buffer size from the card if possible, since 505 * if rx/tx is configured only part of the memory space 506 * is used for rx. 507 * XXX There is currently no way to tell dag_mmap which 508 * half you want, always supplies first rx region. 509 */ 510 if(dag_info(dagfd)->soft_caps.pbm) { 511 buf_size = pbm->memsize; 512 } else { 513 buf_size = dip->buf_size; 514 } 515 450 516 /* 451 517 * Start off with a fake mapping to allocate contiguous virtual … … 456 522 * problem. 457 523 */ 458 if((sp = mmap(NULL, 2* dip->buf_size, PROT_READ | PROT_WRITE,524 if((sp = mmap(NULL, 2*buf_size, PROT_READ | PROT_WRITE, 459 525 MAP_ANON|MAP_SHARED, -1, 0)) == MAP_FAILED) 460 526 return MAP_FAILED; … … 462 528 * Now map the real buffer, 1st round. 463 529 */ 464 if((p = mmap(sp, dip->buf_size, PROT_READ | PROT_WRITE,530 if((p = mmap(sp, buf_size, PROT_READ | PROT_WRITE, 465 531 MAP_FIXED|MAP_SHARED, dagfd, 0)) == MAP_FAILED) 466 532 return MAP_FAILED; … … 470 536 * top of the memory buffer. 471 537 */ 472 if((ep = mmap(sp+ dip->buf_size, dip->buf_size, PROT_READ|PROT_WRITE,538 if((ep = mmap(sp+buf_size, buf_size, PROT_READ|PROT_WRITE, 473 539 MAP_FIXED|MAP_SHARED, dagfd, 0)) == MAP_FAILED) 474 540 return MAP_FAILED; … … 494 560 * zero. 495 561 */ 496 if(*oldoffset >= dag_info(dagfd)->buf_size)497 *oldoffset -= dag_info(dagfd)->buf_size;562 if(*oldoffset >= herd[dagfd].rx_memsize) 563 *oldoffset -= herd[dagfd].rx_memsize; 498 564 499 565 if(dag_info(dagfd)->soft_caps.pbm) { … … 527 593 } 528 594 529 if(offset > dag_info(dagfd)->buf_size)595 if(offset > herd[dagfd].rx_memsize) 530 596 panic("dagapi: dag_offset internal error offset=0x%x\n", offset); 531 597 532 598 if(offset < *oldoffset) 533 offset += dag_info(dagfd)->buf_size;599 offset += herd[dagfd].rx_memsize; 534 600 535 601 return offset; … … 602 668 603 669 pbm->bursttmo = 0xffff; 604 pbm->memaddr = dag_info(dagfd)->phy_addr; /* XXX curaddr bugfix */605 pbm->memsize = dag_info(dagfd)->buf_size;606 670 pbm->segsize = (1024*1024); /* paranoia, not that it matters */ 607 pbm->wrsafe = dag_info(dagfd)->phy_addr + WRSAFE(dagfd, dag_info(dagfd)->buf_size);671 pbm->wrsafe = dag_info(dagfd)->phy_addr + WRSAFE(dagfd, herd[dagfd].rx_memsize); 608 672 pbm->cs = (DAGPBM_SYNCL2R|DAGPBM_AUTOWRAP|herd[dagfd].byteswap); 609 673 … … 613 677 614 678 if(armcode(dagfd)) { 615 usleep(1); /* seems necessary to let pbm settle? */616 IOM(0x404) |= (1<<23); /* framer now held in reset */617 679 IOM(0x88) |= (1<<31); /* L2RESET, will auto deassert */ 618 680 … … 629 691 while(ToHM2 != 2) 630 692 usleep(1); 631 IOM(0x404) &= ~(1<<23); /* deassert framer reset */632 693 } 633 694 … … 678 739 679 740 pbm->bursttmo = 0xffff; 680 pbm->memaddr = dag_info(dagfd)->phy_addr; /* XXX curaddr bugfix */681 pbm->memsize = dag_info(dagfd)->buf_size;682 741 pbm->segsize = (1024*1024); /* paranoia, not that it matters */ 683 pbm->wrsafe = dag_info(dagfd)->phy_addr + WRSAFE(dagfd, dag_info(dagfd)->buf_size);742 pbm->wrsafe = dag_info(dagfd)->phy_addr + WRSAFE(dagfd, herd[dagfd].rx_memsize); 684 743 pbm->cs = (DAGPBM_SYNCL2R|DAGPBM_AUTOWRAP|herd[dagfd].byteswap); 685 744 … … 705 764 706 765 return 0; 766 } 767 768 static void 769 dagpbmcheck(int dagfd) 770 { 771 dagpbm_t *pbm = (dagpbm_t *)(herd[dagfd].iom + 772 dag_info(dagfd)->pbm_base); 773 774 if(dag_info(dagfd)->soft_caps.pbm) { 775 if((pbm->memaddr & 0xfffffff8) == 0xfffffff8) { 776 /* pbm unconfigured*/ 777 pbm->memaddr = dag_info(dagfd)->phy_addr; /* XXX curaddr bugfix */ 778 pbm->memsize = dag_info(dagfd)->buf_size; 779 } 780 /* XXX cache actual hole location for dag_offset etc*/ 781 herd[dagfd].rx_memaddr = pbm->memaddr; 782 herd[dagfd].rx_memsize = pbm->memsize; 783 } else { 784 /* XXX cache actual hole location for dag_offset etc*/ 785 herd[dagfd].rx_memaddr = dag_info(dagfd)->phy_addr; 786 herd[dagfd].rx_memsize = dag_info(dagfd)->buf_size; 787 } 707 788 } 708 789 -
lib/dagopts.c
rb36a3b7 r59c31da 309 309 yy_c_buf_p = yy_cp; 310 310 311 #define YY_NUM_RULES 57312 #define YY_END_OF_BUFFER 58313 static yyconst short int yy_accept[2 35] =311 #define YY_NUM_RULES 65 312 #define YY_END_OF_BUFFER 66 313 static yyconst short int yy_accept[271] = 314 314 { 0, 315 0, 0, 58, 55, 56, 57, 55, 55, 55, 55, 316 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 317 55, 55, 55, 13, 55, 55, 55, 55, 55, 55, 318 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 319 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 320 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 321 55, 55, 55, 55, 55, 14, 28, 55, 55, 55, 322 55, 55, 2, 55, 29, 30, 55, 55, 55, 55, 323 32, 12, 33, 55, 55, 55, 55, 55, 55, 36, 324 37, 38, 55, 55, 55, 25, 55, 55, 55, 55, 325 326 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 327 5, 6, 55, 55, 55, 3, 55, 4, 55, 55, 328 55, 55, 55, 55, 55, 55, 20, 19, 55, 55, 329 55, 15, 55, 55, 55, 55, 55, 55, 55, 55, 330 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 331 55, 7, 55, 5, 6, 8, 44, 45, 55, 55, 332 55, 55, 55, 55, 55, 55, 55, 22, 21, 55, 333 10, 11, 55, 55, 55, 55, 27, 34, 35, 23, 334 41, 43, 55, 55, 55, 55, 29, 55, 7, 9, 335 8, 55, 39, 55, 55, 17, 55, 55, 55, 55, 336 337 55, 55, 55, 54, 55, 16, 40, 42, 55, 9, 338 55, 46, 55, 49, 55, 48, 26, 55, 1, 31, 339 51, 52, 55, 55, 55, 55, 55, 50, 55, 18, 340 53, 24, 47, 0 315 0, 0, 66, 63, 64, 65, 63, 63, 63, 63, 316 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 317 63, 63, 63, 63, 13, 63, 63, 63, 63, 63, 318 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 319 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 320 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 321 63, 63, 58, 63, 63, 63, 63, 59, 63, 63, 322 14, 30, 63, 63, 63, 63, 63, 2, 63, 31, 323 32, 63, 63, 63, 63, 34, 12, 35, 63, 63, 324 63, 27, 63, 63, 63, 63, 63, 38, 39, 40, 325 326 63, 63, 63, 26, 63, 63, 63, 63, 63, 63, 327 63, 63, 63, 63, 63, 63, 63, 63, 5, 6, 328 63, 63, 63, 3, 63, 4, 63, 63, 63, 63, 329 63, 63, 63, 63, 63, 63, 63, 63, 15, 21, 330 20, 63, 63, 63, 16, 63, 63, 63, 63, 63, 331 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 332 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 333 7, 63, 5, 6, 8, 46, 47, 63, 63, 63, 334 63, 60, 63, 63, 63, 63, 63, 63, 63, 63, 335 23, 22, 63, 10, 11, 63, 63, 63, 63, 63, 336 337 29, 36, 37, 24, 63, 43, 45, 63, 63, 63, 338 63, 31, 63, 7, 9, 8, 63, 41, 63, 63, 339 63, 63, 18, 63, 63, 63, 63, 63, 63, 63, 340 63, 63, 62, 63, 53, 17, 42, 44, 63, 9, 341 63, 58, 48, 63, 63, 54, 63, 59, 50, 28, 342 63, 63, 1, 33, 56, 57, 63, 63, 63, 52, 343 63, 63, 51, 55, 63, 19, 61, 25, 49, 0 341 344 } ; 342 345 … … 356 359 18, 19, 20, 21, 22, 1, 23, 24, 25, 26, 357 360 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 361 37, 1, 1, 1, 1, 1, 1, 1, 1, 1, 358 362 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 359 363 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 363 367 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 364 368 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,366 369 367 370 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 373 376 } ; 374 377 375 static yyconst int yy_meta[3 7] =378 static yyconst int yy_meta[38] = 376 379 { 0, 377 380 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 378 381 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 379 382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 380 1, 1, 1, 1, 1, 1 383 1, 1, 1, 1, 1, 1, 1 381 384 } ; 382 385 383 static yyconst short int yy_base[2 36] =386 static yyconst short int yy_base[272] = 384 387 { 0, 385 0, 0, 304, 0, 305, 305, 299, 20, 272, 27, 386 18, 24, 281, 40, 49, 42, 284, 34, 48, 44, 387 263, 284, 0, 293, 271, 273, 276, 276, 278, 275, 388 265, 257, 272, 257, 267, 254, 257, 269, 258, 260, 389 256, 243, 264, 246, 258, 55, 73, 268, 243, 237, 390 254, 255, 71, 86, 53, 239, 253, 233, 236, 238, 391 235, 65, 250, 235, 232, 0, 0, 225, 244, 235, 392 227, 227, 0, 229, 93, 0, 241, 90, 226, 238, 393 0, 0, 0, 234, 229, 232, 225, 219, 231, 0, 394 0, 0, 214, 62, 221, 0, 75, 214, 93, 214, 395 396 226, 221, 96, 105, 218, 89, 95, 100, 203, 224, 397 117, 221, 225, 199, 208, 0, 203, 0, 214, 208, 398 216, 195, 202, 195, 203, 201, 0, 0, 206, 192, 399 208, 0, 211, 214, 186, 204, 204, 192, 198, 188, 400 183, 188, 187, 186, 191, 179, 191, 182, 189, 173, 401 189, 186, 195, 0, 0, 184, 0, 0, 185, 166, 402 165, 171, 177, 181, 160, 160, 173, 0, 0, 165, 403 0, 0, 165, 158, 135, 169, 0, 0, 0, 0, 404 0, 0, 156, 161, 160, 152, 0, 166, 0, 165, 405 0, 155, 0, 148, 163, 0, 144, 146, 145, 149, 406 407 122, 104, 118, 0, 103, 0, 0, 0, 121, 0, 408 117, 0, 106, 0, 113, 0, 0, 101, 0, 0, 409 0, 0, 153, 98, 103, 162, 68, 0, 52, 0, 410 0, 0, 0, 305, 37 388 0, 0, 360, 0, 361, 361, 355, 21, 328, 28, 389 19, 25, 35, 45, 50, 44, 341, 38, 56, 57, 390 320, 341, 340, 0, 349, 327, 329, 332, 332, 334, 391 331, 321, 313, 328, 313, 323, 310, 313, 325, 314, 392 316, 312, 299, 320, 313, 36, 314, 305, 61, 80, 393 323, 298, 292, 309, 310, 79, 83, 72, 294, 308, 394 288, 291, 74, 291, 293, 94, 305, 87, 288, 291, 395 312, 0, 279, 298, 289, 281, 281, 0, 283, 111, 396 0, 295, 103, 280, 292, 0, 0, 0, 288, 283, 397 283, 0, 285, 278, 281, 271, 283, 0, 0, 0, 398 399 266, 102, 273, 0, 90, 266, 108, 266, 278, 105, 400 112, 123, 271, 107, 113, 117, 256, 277, 134, 274, 401 278, 252, 261, 0, 256, 0, 267, 258, 260, 246, 402 267, 250, 245, 252, 245, 250, 252, 250, 0, 0, 403 0, 255, 241, 257, 0, 260, 263, 236, 234, 252, 404 252, 240, 246, 236, 241, 230, 235, 245, 233, 232, 405 237, 225, 237, 228, 235, 219, 218, 220, 233, 218, 406 229, 238, 0, 0, 227, 0, 0, 228, 209, 216, 407 207, 0, 213, 205, 218, 222, 201, 209, 200, 213, 408 0, 0, 205, 0, 0, 199, 204, 197, 153, 208, 409 410 0, 0, 0, 0, 162, 0, 0, 195, 200, 199, 411 191, 190, 204, 0, 203, 0, 193, 0, 180, 185, 412 200, 201, 0, 171, 182, 175, 180, 129, 139, 131, 413 120, 134, 0, 120, 0, 0, 0, 0, 135, 0, 414 132, 0, 0, 121, 180, 0, 126, 0, 0, 0, 415 112, 71, 0, 0, 0, 0, 189, 63, 64, 0, 416 198, 57, 0, 0, 50, 0, 0, 0, 0, 361, 417 38 411 418 } ; 412 419 413 static yyconst short int yy_def[2 36] =420 static yyconst short int yy_def[272] = 414 421 { 0, 415 234, 1, 234, 235, 234, 234, 235, 235, 235, 235, 416 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 417 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 418 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 419 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 420 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 421 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 422 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 423 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 424 235, 235, 235, 235, 235, 235, 8, 235, 235, 235, 425 426 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 427 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 428 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 429 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 430 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 431 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 432 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 433 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 434 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 435 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 436 437 235, 235, 235, 175, 235, 235, 235, 235, 235, 235, 438 235, 235, 235, 197, 235, 235, 235, 235, 235, 235, 439 235, 235, 235, 235, 235, 235, 235, 223, 235, 235, 440 226, 235, 235, 0, 234 422 270, 1, 270, 271, 270, 270, 271, 271, 271, 271, 423 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 424 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 425 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 426 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 427 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 428 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 429 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 430 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 431 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 432 433 271, 271, 271, 271, 8, 271, 271, 271, 271, 271, 434 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 435 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 436 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 437 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 438 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 439 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 440 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 441 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 442 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 443 444 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 445 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 446 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 447 271, 271, 199, 271, 205, 271, 271, 271, 271, 271, 448 271, 271, 271, 271, 271, 224, 271, 271, 271, 271, 449 271, 271, 271, 271, 271, 271, 271, 271, 271, 245, 450 245, 271, 271, 257, 271, 271, 261, 271, 271, 0, 451 270 441 452 } ; 442 453 443 static yyconst short int yy_nxt[3 42] =454 static yyconst short int yy_nxt[399] = 444 455 { 0, 445 456 4, 5, 6, 4, 7, 4, 4, 4, 4, 4, 446 457 4, 4, 4, 8, 4, 9, 10, 11, 12, 4, 447 458 13, 4, 4, 14, 15, 16, 17, 18, 4, 19, 448 20, 21, 4, 22, 4, 4, 25, 23, 26, 41, 449 27, 28, 34, 38, 35, 42, 39, 29, 36, 40, 450 30, 31, 32, 44, 48, 45, 37, 51, 55, 61, 451 56, 58, 49, 52, 57, 59, 114, 62, 53, 233, 452 46, 47, 88, 89, 115, 63, 90, 91, 122, 146, 453 147, 50, 123, 60, 97, 232, 98, 99, 100, 101, 454 111, 102, 112, 113, 103, 104, 105, 133, 106, 134, 455 456 107, 108, 109, 80, 110, 136, 23, 23, 34, 44, 457 48, 45, 59, 55, 150, 61, 221, 222, 49, 57, 458 230, 229, 152, 151, 227, 226, 46, 47, 153, 225, 459 60, 224, 154, 223, 220, 219, 218, 50, 204, 204, 460 204, 204, 204, 204, 204, 204, 204, 214, 214, 214, 461 214, 214, 214, 214, 214, 214, 228, 228, 228, 228, 462 228, 228, 228, 228, 228, 231, 231, 231, 231, 231, 463 231, 231, 231, 231, 217, 216, 215, 213, 212, 211, 464 210, 136, 209, 208, 207, 206, 205, 203, 202, 201, 465 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 466 467 190, 189, 122, 188, 187, 186, 185, 184, 183, 182, 468 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 469 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 470 161, 160, 159, 158, 157, 156, 155, 65, 64, 52, 471 43, 41, 39, 149, 148, 145, 144, 143, 142, 141, 472 140, 139, 138, 137, 135, 132, 131, 130, 129, 128, 473 127, 126, 125, 124, 121, 120, 119, 118, 117, 116, 474 96, 95, 94, 93, 92, 87, 86, 85, 84, 83, 475 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 476 72, 71, 70, 69, 68, 67, 66, 65, 64, 54, 477 478 43, 33, 24, 234, 3, 234, 234, 234, 234, 234, 479 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 480 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 481 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 482 234 459 20, 21, 4, 22, 23, 4, 4, 26, 24, 27, 460 42, 28, 29, 35, 39, 36, 43, 40, 30, 37, 461 41, 31, 32, 33, 44, 51, 45, 38, 46, 54, 462 47, 92, 58, 52, 59, 55, 93, 269, 60, 61, 463 56, 48, 64, 62, 268, 49, 50, 65, 96, 97, 464 66, 266, 53, 98, 99, 122, 265, 119, 67, 120, 465 121, 63, 105, 123, 106, 107, 108, 109, 263, 110, 466 467 128, 129, 111, 112, 113, 130, 114, 133, 115, 116, 468 117, 134, 118, 136, 137, 146, 85, 147, 150, 162, 469 163, 24, 24, 35, 44, 167, 45, 47, 51, 166, 470 62, 58, 64, 255, 256, 262, 52, 60, 261, 171, 471 169, 148, 49, 50, 259, 172, 258, 257, 168, 173, 472 254, 253, 252, 251, 250, 53, 233, 233, 233, 233, 473 233, 233, 233, 233, 233, 235, 235, 235, 235, 235, 474 235, 235, 235, 235, 246, 246, 246, 246, 246, 246, 475 246, 246, 246, 260, 260, 260, 260, 260, 260, 260, 476 260, 260, 264, 264, 264, 264, 264, 264, 264, 264, 477 478 264, 267, 267, 267, 267, 267, 267, 267, 267, 267, 479 249, 248, 247, 245, 244, 243, 242, 241, 240, 150, 480 148, 239, 238, 237, 236, 234, 232, 231, 230, 229, 481 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 482 218, 217, 216, 215, 214, 137, 133, 129, 93, 213, 483 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 484 44, 202, 201, 200, 199, 198, 197, 196, 195, 194, 485 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 486 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 487 69, 170, 55, 42, 40, 165, 164, 161, 160, 159, 488 489 158, 157, 156, 155, 154, 153, 152, 151, 149, 145, 490 144, 143, 142, 141, 140, 139, 92, 138, 135, 132, 491 131, 127, 126, 125, 124, 104, 103, 102, 101, 100, 492 95, 94, 91, 90, 89, 88, 87, 86, 85, 84, 493 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 494 73, 72, 71, 70, 69, 68, 57, 34, 25, 270, 495 3, 270, 270, 270, 270, 270, 270, 270, 270, 270, 496 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 497 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 498 270, 270, 270, 270, 270, 270, 270, 270 499 483 500 } ; 484 501 485 static yyconst short int yy_chk[3 42] =502 static yyconst short int yy_chk[399] = 486 503 { 0, 487 504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 488 505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 489 506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 490 1, 1, 1, 1, 1, 1, 8, 235, 8, 12, 491 8, 8, 10, 11, 10, 12, 11, 8, 10, 11, 492 8, 8, 8, 14, 15, 14, 10, 16, 18, 20, 493 18, 19, 15, 16, 18, 19, 55, 20, 16, 229, 494 14, 14, 46, 46, 55, 20, 47, 47, 62, 94, 495 94, 15, 62, 19, 53, 227, 53, 53, 53, 53, 496 54, 53, 54, 54, 53, 53, 53, 75, 53, 75, 497 498 53, 53, 53, 78, 53, 78, 97, 97, 99, 103, 499 104, 103, 107, 106, 99, 108, 205, 205, 104, 106, 500 225, 224, 111, 108, 218, 215, 103, 103, 111, 213, 501 107, 211, 111, 209, 203, 202, 201, 104, 175, 175, 502 175, 175, 175, 175, 175, 175, 175, 197, 197, 197, 503 197, 197, 197, 197, 197, 197, 223, 223, 223, 223, 504 223, 223, 223, 223, 223, 226, 226, 226, 226, 226, 505 226, 226, 226, 226, 200, 199, 198, 195, 194, 192, 506 190, 188, 186, 185, 184, 183, 176, 174, 173, 170, 507 167, 166, 165, 164, 163, 162, 161, 160, 159, 156, 508 509 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 510 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 511 133, 131, 130, 129, 126, 125, 124, 123, 122, 121, 512 120, 119, 117, 115, 114, 113, 112, 110, 109, 105, 513 102, 101, 100, 98, 95, 93, 89, 88, 87, 86, 514 85, 84, 80, 79, 77, 74, 72, 71, 70, 69, 515 68, 65, 64, 63, 61, 60, 59, 58, 57, 56, 516 52, 51, 50, 49, 48, 45, 44, 43, 42, 41, 517 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 518 30, 29, 28, 27, 26, 25, 24, 22, 21, 17, 519 520 13, 9, 7, 3, 234, 234, 234, 234, 234, 234, 521 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 522 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 523 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 524 234 507 1, 1, 1, 1, 1, 1, 1, 8, 271, 8, 508 12, 8, 8, 10, 11, 10, 12, 11, 8, 10, 509 11, 8, 8, 8, 13, 15, 13, 10, 14, 16, 510 14, 46, 18, 15, 18, 16, 46, 265, 18, 19, 511 16, 14, 20, 19, 262, 14, 14, 20, 49, 49, 512 20, 259, 15, 50, 50, 58, 258, 57, 20, 57, 513 57, 19, 56, 58, 56, 56, 56, 56, 252, 56, 514 515 63, 63, 56, 56, 56, 63, 56, 66, 56, 56, 516 56, 66, 56, 68, 68, 80, 83, 80, 83, 102, 517 102, 105, 105, 107, 110, 111, 110, 111, 112, 107, 518 115, 114, 116, 234, 234, 251, 112, 114, 247, 119, 519 116, 80, 111, 111, 244, 119, 241, 239, 115, 119, 520 232, 231, 230, 229, 228, 112, 199, 199, 199, 199, 521 199, 199, 199, 199, 199, 205, 205, 205, 205, 205, 522 205, 205, 205, 205, 224, 224, 224, 224, 224, 224, 523 224, 224, 224, 245, 245, 245, 245, 245, 245, 245, 524 245, 245, 257, 257, 257, 257, 257, 257, 257, 257, 525 526 257, 261, 261, 261, 261, 261, 261, 261, 261, 261, 527 227, 226, 225, 222, 221, 220, 219, 217, 215, 213, 528 212, 211, 210, 209, 208, 200, 198, 197, 196, 193, 529 190, 189, 188, 187, 186, 185, 184, 183, 181, 180, 530 179, 178, 175, 172, 171, 170, 169, 168, 167, 166, 531 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 532 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 533 144, 143, 142, 138, 137, 136, 135, 134, 133, 132, 534 131, 130, 129, 128, 127, 125, 123, 122, 121, 120, 535 118, 117, 113, 109, 108, 106, 103, 101, 97, 96, 536 537 95, 94, 93, 91, 90, 89, 85, 84, 82, 79, 538 77, 76, 75, 74, 73, 71, 70, 69, 67, 65, 539 64, 62, 61, 60, 59, 55, 54, 53, 52, 51, 540 48, 47, 45, 44, 43, 42, 41, 40, 39, 38, 541 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 542 27, 26, 25, 23, 22, 21, 17, 9, 7, 3, 543 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 544 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 545 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 546 270, 270, 270, 270, 270, 270, 270, 270 547 525 548 } ; 526 549 … … 773 796 { 774 797 yy_current_state = (int) yy_def[yy_current_state]; 775 if ( yy_current_state >= 2 35)798 if ( yy_current_state >= 271 ) 776 799 yy_c = yy_meta[(unsigned int) yy_c]; 777 800 } … … 779 802 ++yy_cp; 780 803 } 781 while ( yy_base[yy_current_state] != 3 05);804 while ( yy_base[yy_current_state] != 361 ); 782 805 783 806 yy_find_action: … … 878 901 YY_RULE_SETUP 879 902 #line 40 "dagopts.l" 903 { return T_ETH_1000; } 904 YY_BREAK 905 case 16: 906 YY_RULE_SETUP 907 #line 41 "dagopts.l" 880 908 { return T_ETH_AUTO; } 881 909 YY_BREAK 882 case 1 6:883 YY_RULE_SETUP 884 #line 4 1"dagopts.l"910 case 17: 911 YY_RULE_SETUP 912 #line 42 "dagopts.l" 885 913 { return (yytext[0]!='n') ? T_SONET_MASTER : T_SONET_SLAVE; } 886 914 YY_BREAK 887 case 1 7:888 YY_RULE_SETUP 889 #line 4 2"dagopts.l"915 case 18: 916 YY_RULE_SETUP 917 #line 43 "dagopts.l" 890 918 { return (yytext[0]!='n') ? T_SONET_SLAVE : T_SONET_MASTER; } 891 919 YY_BREAK 892 case 1 8:893 YY_RULE_SETUP 894 #line 4 3"dagopts.l"920 case 19: 921 YY_RULE_SETUP 922 #line 44 "dagopts.l" 895 923 { yylval = (yytext[0]!='n') ; return T_SONET_SCRAMBLE; } 896 924 YY_BREAK 897 case 19:898 YY_RULE_SETUP 899 #line 4 4"dagopts.l"925 case 20: 926 YY_RULE_SETUP 927 #line 45 "dagopts.l" 900 928 { yylval = (yytext[0]!='n') ; return T_ATM_ADD_HEC; } 901 929 YY_BREAK 902 case 2 0:903 YY_RULE_SETUP 904 #line 4 5"dagopts.l"930 case 21: 931 YY_RULE_SETUP 932 #line 46 "dagopts.l" 905 933 { yylval = (yytext[0]!='n') ; return T_ATM_FIX_HEC; } 906 934 YY_BREAK 907 case 2 1:908 YY_RULE_SETUP 909 #line 4 6"dagopts.l"935 case 22: 936 YY_RULE_SETUP 937 #line 47 "dagopts.l" 910 938 { yylval = (yytext[0]!='n') ; return T_ATM_PASS_HEC; } 911 939 YY_BREAK 912 case 2 2:913 YY_RULE_SETUP 914 #line 4 7"dagopts.l"940 case 23: 941 YY_RULE_SETUP 942 #line 48 "dagopts.l" 915 943 { yylval = (yytext[0]!='n') ; return T_ATM_PASS_IDLE; } 916 944 YY_BREAK 917 case 2 3:918 YY_RULE_SETUP 919 #line 4 8"dagopts.l"945 case 24: 946 YY_RULE_SETUP 947 #line 49 "dagopts.l" 920 948 { yylval = (yytext[0]!='n') ; return T_ATM_LCELL; } 921 949 YY_BREAK 922 case 2 4:923 YY_RULE_SETUP 924 #line 49"dagopts.l"950 case 25: 951 YY_RULE_SETUP 952 #line 50 "dagopts.l" 925 953 { yylval = (yytext[0]!='n') ; return T_ATM_PLOAD_SCRAMBLE; } 926 954 YY_BREAK 927 case 2 5:928 YY_RULE_SETUP 929 #line 5 0"dagopts.l"955 case 26: 956 YY_RULE_SETUP 957 #line 51 "dagopts.l" 930 958 { yylval = (yytext[1]!='o') ; return T_ETH_NIC; } 931 959 YY_BREAK 932 case 26: 933 YY_RULE_SETUP 934 #line 51 "dagopts.l" 960 case 27: 961 YY_RULE_SETUP 962 #line 52 "dagopts.l" 963 { yylval = (yytext[0]!='l') ; return T_ETH_WAN; } 964 YY_BREAK 965 case 28: 966 YY_RULE_SETUP 967 #line 53 "dagopts.l" 935 968 { yylval = (yytext[0]!='n') ; return T_GPP_VARLEN; } 936 969 YY_BREAK 937 case 2 7:938 YY_RULE_SETUP 939 #line 5 2"dagopts.l"970 case 29: 971 YY_RULE_SETUP 972 #line 54 "dagopts.l" 940 973 { yylval = 0 ; return T_GPP_VARLEN; } 941 974 YY_BREAK 942 case 28:943 YY_RULE_SETUP 944 #line 5 3"dagopts.l"975 case 30: 976 YY_RULE_SETUP 977 #line 55 "dagopts.l" 945 978 { yylval = (yytext[0]!='n') ; return T_LINK_ADM; } 946 979 YY_BREAK 947 case 29:948 YY_RULE_SETUP 949 #line 5 4"dagopts.l"980 case 31: 981 YY_RULE_SETUP 982 #line 56 "dagopts.l" 950 983 { yylval = (yytext[0]!='n') ; return T_LINK_CRC; } 951 984 YY_BREAK 952 case 3 0:953 YY_RULE_SETUP 954 #line 5 5"dagopts.l"985 case 32: 986 YY_RULE_SETUP 987 #line 57 "dagopts.l" 955 988 { yylval = (yytext[0]!='n') ; return T_LINK_DCR; } 956 989 YY_BREAK 957 case 3 1:958 YY_RULE_SETUP 959 #line 5 6"dagopts.l"990 case 33: 991 YY_RULE_SETUP 992 #line 58 "dagopts.l" 960 993 { yylval = (yytext[0]!='n') ; return T_LINK_DISCARD; } 961 994 YY_BREAK 962 case 3 2:963 YY_RULE_SETUP 964 #line 5 7"dagopts.l"995 case 34: 996 YY_RULE_SETUP 997 #line 59 "dagopts.l" 965 998 { yylval = (yytext[0]!='n') ; return T_LINK_EQL; } 966 999 YY_BREAK 967 case 3 3:968 YY_RULE_SETUP 969 #line 58"dagopts.l"1000 case 35: 1001 YY_RULE_SETUP 1002 #line 60 "dagopts.l" 970 1003 { yylval = (yytext[0]!='n') ; return T_LINK_FCL; } 971 1004 YY_BREAK 972 case 3 4:973 YY_RULE_SETUP 974 #line 59"dagopts.l"1005 case 36: 1006 YY_RULE_SETUP 1007 #line 61 "dagopts.l" 975 1008 { yylval = (yytext[0]!='n') ; return T_LINK_HGAIN; } 976 1009 YY_BREAK 977 case 3 5:978 YY_RULE_SETUP 979 #line 6 0"dagopts.l"1010 case 37: 1011 YY_RULE_SETUP 1012 #line 62 "dagopts.l" 980 1013 { yylval = (yytext[0]!='n') ; return T_LINK_LASER; } 981 1014 YY_BREAK 982 case 3 6:983 YY_RULE_SETUP 984 #line 6 1"dagopts.l"1015 case 38: 1016 YY_RULE_SETUP 1017 #line 63 "dagopts.l" 985 1018 { yylval = (yytext[0]!='n') ; return T_LINK_LT0; } 986 1019 YY_BREAK 987 case 3 7:988 YY_RULE_SETUP 989 #line 6 2"dagopts.l"1020 case 39: 1021 YY_RULE_SETUP 1022 #line 64 "dagopts.l" 990 1023 { yylval = (yytext[0]!='n') ; return T_LINK_LT1; } 991 1024 YY_BREAK 992 case 38:993 YY_RULE_SETUP 994 #line 6 3"dagopts.l"1025 case 40: 1026 YY_RULE_SETUP 1027 #line 65 "dagopts.l" 995 1028 { yylval = (yytext[0]!='n') ; return T_LINK_M23; } 996 1029 YY_BREAK 997 case 39:998 YY_RULE_SETUP 999 #line 6 4"dagopts.l"1030 case 41: 1031 YY_RULE_SETUP 1032 #line 66 "dagopts.l" 1000 1033 { yylval = (yytext[0]!='n') ; return T_LINK_RESET; } 1001 YY_BREAK1002 case 40:1003 #line 66 "dagopts.l"1004 case 41:1005 YY_RULE_SETUP1006 #line 66 "dagopts.l"1007 { yylval = (yytext[0]!='n') ; return T_LINK_LSEQL; }1008 1034 YY_BREAK 1009 1035 case 42: … … 1012 1038 YY_RULE_SETUP 1013 1039 #line 68 "dagopts.l" 1040 { yylval = (yytext[0]!='n') ; return T_LINK_LSEQL; } 1041 YY_BREAK 1042 case 44: 1043 #line 70 "dagopts.l" 1044 case 45: 1045 YY_RULE_SETUP 1046 #line 70 "dagopts.l" 1014 1047 { yylval = (yytext[0]!='n') ; return T_LINK_LSFCL; } 1015 1048 YY_BREAK 1016 case 4 4:1017 YY_RULE_SETUP 1018 #line 69"dagopts.l"1049 case 46: 1050 YY_RULE_SETUP 1051 #line 71 "dagopts.l" 1019 1052 { yylval = (yytext[0]!='n') ; return T_POS_MAXCHECK; } 1020 1053 YY_BREAK 1021 case 4 5:1022 YY_RULE_SETUP 1023 #line 7 0"dagopts.l"1054 case 47: 1055 YY_RULE_SETUP 1056 #line 72 "dagopts.l" 1024 1057 { yylval = (yytext[0]!='n') ; return T_POS_MINCHECK; } 1025 1058 YY_BREAK 1026 case 4 6:1027 YY_RULE_SETUP 1028 #line 7 1"dagopts.l"1059 case 48: 1060 YY_RULE_SETUP 1061 #line 73 "dagopts.l" 1029 1062 { yylval = (yytext[0]!='n') ; return T_POS_RXPKTS; } 1030 1063 YY_BREAK 1031 case 4 7:1032 YY_RULE_SETUP 1033 #line 7 2"dagopts.l"1064 case 49: 1065 YY_RULE_SETUP 1066 #line 74 "dagopts.l" 1034 1067 { yylval = (yytext[0]!='n') ; return T_POS_SCRAMBLE; } 1035 1068 YY_BREAK 1036 case 48:1037 YY_RULE_SETUP 1038 #line 7 3"dagopts.l"1069 case 50: 1070 YY_RULE_SETUP 1071 #line 75 "dagopts.l" 1039 1072 { yylval = (yytext[0]!='n') ; return T_POS_TXPKTS; } 1040 1073 YY_BREAK 1041 case 49: 1042 YY_RULE_SETUP 1043 #line 74 "dagopts.l" 1074 case 51: 1075 YY_RULE_SETUP 1076 #line 76 "dagopts.l" 1077 { yylval = (yytext[0]!='n') ; return T_POS_CRCSTRIP; } 1078 YY_BREAK 1079 case 52: 1080 YY_RULE_SETUP 1081 #line 77 "dagopts.l" 1082 { yylval = strtoul(&yytext[6], NULL, 0) ; return T_POS_MINLEN; } 1083 YY_BREAK 1084 case 53: 1085 YY_RULE_SETUP 1086 #line 78 "dagopts.l" 1087 { yylval = strtoul(&yytext[5], NULL, 0) ; return T_POS_MAXLEN; } 1088 YY_BREAK 1089 case 54: 1090 YY_RULE_SETUP 1091 #line 79 "dagopts.l" 1044 1092 { yylval = strtoul(&yytext[5], NULL, 0) ; return T_GPP_SLEN; } 1045 1093 YY_BREAK 1046 case 5 0:1047 YY_RULE_SETUP 1048 #line 75"dagopts.l"1094 case 55: 1095 YY_RULE_SETUP 1096 #line 80 "dagopts.l" 1049 1097 { yylval = strtoul(&yytext[7], NULL, 0) ; return T_ATM_NCELLS; } 1050 1098 YY_BREAK 1051 case 5 1:1052 YY_RULE_SETUP 1053 #line 76"dagopts.l"1099 case 56: 1100 YY_RULE_SETUP 1101 #line 81 "dagopts.l" 1054 1102 { yylval = (yytext[0]!='d') ; return T_GPP_ENABLE_A; } 1055 1103 YY_BREAK 1056 case 5 2:1057 YY_RULE_SETUP 1058 #line 77"dagopts.l"1104 case 57: 1105 YY_RULE_SETUP 1106 #line 82 "dagopts.l" 1059 1107 { yylval = (yytext[0]!='d') ; return T_GPP_ENABLE_B; } 1060 1108 YY_BREAK 1061 case 53: 1062 YY_RULE_SETUP 1063 #line 78 "dagopts.l" 1064 1065 YY_BREAK 1066 case 54: 1067 YY_RULE_SETUP 1068 #line 79 "dagopts.l" 1069 1070 YY_BREAK 1071 case 55: 1072 YY_RULE_SETUP 1073 #line 80 "dagopts.l" 1109 case 58: 1110 YY_RULE_SETUP 1111 #line 83 "dagopts.l" 1112 { yylval = 0x1; return T_PBM_MEMCONFIG; } 1113 YY_BREAK 1114 case 59: 1115 YY_RULE_SETUP 1116 #line 84 "dagopts.l" 1117 { yylval = 0x2; return T_PBM_MEMCONFIG; } 1118 YY_BREAK 1119 case 60: 1120 YY_RULE_SETUP 1121 #line 85 "dagopts.l" 1122 { yylval = 0x3; return T_PBM_MEMCONFIG; } 1123 YY_BREAK 1124 case 61: 1125 YY_RULE_SETUP 1126 #line 86 "dagopts.l" 1127 1128 YY_BREAK 1129 case 62: 1130 YY_RULE_SETUP 1131 #line 87 "dagopts.l" 1132 1133 YY_BREAK 1134 case 63: 1135 YY_RULE_SETUP 1136 #line 88 "dagopts.l" 1074 1137 { return T_ERROR; } 1075 1138 YY_BREAK 1076 case 56:1077 YY_RULE_SETUP 1078 #line 8 1"dagopts.l"1079 1080 YY_BREAK 1081 case 57:1082 YY_RULE_SETUP 1083 #line 82"dagopts.l"1139 case 64: 1140 YY_RULE_SETUP 1141 #line 89 "dagopts.l" 1142 1143 YY_BREAK 1144 case 65: 1145 YY_RULE_SETUP 1146 #line 90 "dagopts.l" 1084 1147 ECHO; 1085 1148 YY_BREAK … … 1375 1438 { 1376 1439 yy_current_state = (int) yy_def[yy_current_state]; 1377 if ( yy_current_state >= 2 35)1440 if ( yy_current_state >= 271 ) 1378 1441 yy_c = yy_meta[(unsigned int) yy_c]; 1379 1442 } … … 1410 1473 { 1411 1474 yy_current_state = (int) yy_def[yy_current_state]; 1412 if ( yy_current_state >= 2 35)1475 if ( yy_current_state >= 271 ) 1413 1476 yy_c = yy_meta[(unsigned int) yy_c]; 1414 1477 } 1415 1478 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1416 yy_is_jam = (yy_current_state == 2 34);1479 yy_is_jam = (yy_current_state == 270); 1417 1480 1418 1481 return yy_is_jam ? 0 : yy_current_state; … … 1973 2036 } 1974 2037 #endif 1975 #line 82"dagopts.l"2038 #line 90 "dagopts.l" 1976 2039 1977 2040 -
lib/trace.c
r7e55902 r59c31da 139 139 double start_ts; 140 140 }; 141 142 #define RP_BUFSIZE 65536 141 143 142 144 #define URI_PROTO_LINE 16 … … 446 448 static int trace_read(struct libtrace_t *libtrace, void *buffer, size_t len) { 447 449 int numbytes; 448 static unsigned bottom = 0, top, diff, curr , scan;450 static unsigned bottom = 0, top, diff, curr = 0, scan; 449 451 static short lctr = 0; 450 452 struct dag_record_t *recptr = 0; … … 477 479 switch(libtrace->format) { 478 480 case DAG: 481 479 482 top = dag_offset(libtrace->input.fd, 480 483 &bottom, 481 484 0); 482 485 diff = top - bottom; 483 errno = 0;484 curr = 0;485 486 486 recptr = (dag_record_t *) ((void *)libtrace->buf + (bottom + curr)); 487 488 memcpy(buffer,libtrace->buf + (bottom + curr),diff); 487 //recptr = (dag_record_t *) ((void *)libtrace->buf + (bottom + curr)); 488 //rlen = ntohs(recptr->rlen); 489 490 491 memcpy(buffer,(void *)(libtrace->buf + (bottom + curr)),diff); 489 492 490 493 //buffer=libtrace->buf + (bottom + curr); 491 494 492 495 numbytes=diff; 493 496 bottom=top; 494 497 495 498 break; … … 524 527 * 525 528 */ 526 #define RP_BUFSIZE 65536527 529 int trace_read_packet(struct libtrace_t *libtrace, struct libtrace_packet_t *packet) { 528 530 int numbytes; … … 593 595 return numbytes; 594 596 } 597 assert(libtrace->fifo); 595 598 fifo_write(libtrace->fifo,buf,numbytes); 596 599
Note: See TracChangeset
for help on using the changeset viewer.