| 407 | } |
| 408 | |
| 409 | static void l2_forward_entry_test() { |
| 410 | int ret; |
| 411 | struct l2_table l2tbl; |
| 412 | |
| 413 | uint64_t addr1 = 0x0123456701234567; |
| 414 | uint64_t addr2 = 0x9876543210987654; |
| 415 | uint16_t index1 = 0x0123; |
| 416 | uint16_t gate_index = -1; |
| 417 | |
| 418 | ret = l2_init(&l2tbl, 4, 4); |
| 419 | DCHECK_EQ(ret, 0); |
| 420 | |
| 421 | ret = l2_add_entry(&l2tbl, addr1, index1); |
| 422 | LOG(INFO) << "add entry: " << addr1 << ", index: " << index1; |
| 423 | DCHECK_EQ(ret, 0); |
| 424 | |
| 425 | ret = l2_find(&l2tbl, addr1, &gate_index); |
| 426 | LOG(INFO) << "find entry: " << addr1 << ", index: " << gate_index; |
| 427 | DCHECK_EQ(ret, 0); |
| 428 | DCHECK_EQ(index1, gate_index); |
| 429 | |
| 430 | ret = l2_find(&l2tbl, addr2, &gate_index); |
| 431 | DCHECK_LT(ret, 0); |
| 432 | |
| 433 | ret = l2_del_entry(&l2tbl, addr1); |
| 434 | DCHECK_EQ(ret, 0); |
| 435 | |
| 436 | ret = l2_del_entry(&l2tbl, addr2); |
| 437 | DCHECK_LT(ret, 0); |
| 438 | |
| 439 | ret = l2_find(&l2tbl, addr1, &gate_index); |
| 440 | DCHECK_LT(ret, 0); |
| 441 | |
| 442 | ret = l2_deinit(&l2tbl); |
| 443 | DCHECK_EQ(ret, 0); |
| 444 | } |
| 445 | |
| 446 | static void l2_forward_flush_test() { |
| 447 | int ret; |