Commit 65ed1ab
authored
feat(qemu): add QEMU_NET_CIDR to override SLIRP internal network (#2564)
## What
Add an opt-in QEMU_NET_CIDR environment variable that overrides SLIRP's
default internal network (10.0.2.0/24) by appending net=<cidr> to the
SLIRP netdev args. Validates the input as a sane IPv4 CIDR with prefix
length between 8 and 30.
## Why
SLIRP user-mode networking treats its default 10.0.2.0/24 network as
part of its own NAT space. When the host needs to reach VPC-internal
addresses that fall within the 10.0.0.0/8 range (e.g., a Private Service
Connect endpoint at 10.10.0.108), SLIRP may not forward those
connections to the host's network stack, causing the guest VM to time
out.
Setting QEMU_NET_CIDR to a non-conflicting range (e.g., 192.168.76.0/24)
moves SLIRP's internal NAT off the 10.x.x.x space so 10.x.x.x addresses
route through the host normally.
## Notes
- Opt-in via environment variable; default behavior unchanged.
- Follows the existing QEMU_DNS_SEARCH pattern for env-driven netdev
configuration.
- Input validation rejects IPv6, prefixes outside [8, 30], and any
injection attempts via embedded commas or whitespace.
Signed-off-by: jmeridth <jmeridth@gmail.com>1 parent 1b5764a commit 65ed1ab
2 files changed
Lines changed: 130 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
798 | 798 | | |
799 | 799 | | |
800 | 800 | | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
801 | 817 | | |
802 | 818 | | |
803 | 819 | | |
| |||
2543 | 2559 | | |
2544 | 2560 | | |
2545 | 2561 | | |
| 2562 | + | |
| 2563 | + | |
| 2564 | + | |
| 2565 | + | |
| 2566 | + | |
| 2567 | + | |
| 2568 | + | |
| 2569 | + | |
| 2570 | + | |
| 2571 | + | |
| 2572 | + | |
| 2573 | + | |
| 2574 | + | |
| 2575 | + | |
| 2576 | + | |
| 2577 | + | |
| 2578 | + | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
2546 | 2592 | | |
2547 | 2593 | | |
2548 | 2594 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
492 | 492 | | |
493 | 493 | | |
494 | 494 | | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
495 | 579 | | |
496 | 580 | | |
497 | 581 | | |
| |||
0 commit comments