Comments (7)
i guess there are two choices here:
- serialize the relevant syscalls (particularily socket()) since thats necessary to go anywhere
on networking coming up - only register the syscall handlers until they are useful
neither of these provides any useful feedback as to whether networking is expected to
ever come up (hardware is available)
from nanos.
@convolvatron
Can you clarify this task?
I prepared test image from webs. I i run it with command
qemu-system-x86_64 -hda image -nographic -m 2G -device isa-debug-exit -drive file=image,format=raw,if=virtio -device virtio-net
looks like start of program successful
if i don't have network device
qemu-system-x86_64 -hda image -nographic -m 2G -device isa-debug-exit -drive file=image,format=raw,if=virtio
I have a lot of error 'page fault' (under debugger it looks curiosly i return to beginning of function tcp_alloc from each call memp_malloc )
What should i do in each case?
from nanos.
in the first case I think we're ok :)
i think there are plenty of arguable solutions in the second case. but when this came up last time Will made a good point - the overarching concern here is that we act like the existing system.
so my best guess is to just bring up lwip unconditionally, and attach an interface when it arrives.
from nanos.
still it not looks enough clear for me. For now it looks as memory management error. I will try to investigate it more deep.
from nanos.
i think it is. in this case lwip was never initialized since we didn't find the pci device for the virtio nic and attach it. so nothing in lwip has been set up.
my suggestion is to set up lwip unconditionally outside the virtio code, then hopefully it will be able to handle api calls (maybe with errors if there is no interface)
from nanos.
@convolvatron
I can't reproduce this issue after change net.c. It looks like fixed issue.
from nanos.
yeah, i pulled out the init.. thanks for checking..closing
from nanos.
Related Issues (20)
- issue(gcp): metrics - klibs(gcp,tls) - memory leak (maybe) HOT 2
- chore(storage): warn when volume name/label length > nanos(VOLUME_LABEL_MAX_LEN) HOT 1
- feat(storage): prevent nanos from starting the program if the expected volumes are not available HOT 2
- issue(smp): tokio-rs/sled deadlock (probable) on cpu count > 1 HOT 8
- issue(fs): assertion !frame_is_full(ctx->frame) failed at /nanos/src/kernel/mutex.c:109 (IP 0xffffffff800460b4) HOT 2
- issue: assertion enqueue(pn->dirty_commits, sh) failed at .../pagecache.c:1088 ... in pagecache_commit_dirty_node(); halt HOT 11
- issue(unix_clock): clock_getcpuclockid and clock_getres unexpected behavior HOT 3
- issue: assertion w->retval++ < (w->poll_fds->length / sizeof(struct pollfd)) failed at ../unix/poll.c:939 (IP 0xf..) in poll_notify(); halt HOT 4
- arm64 golang hello-wold fails to run on MacBook Air M1 HOT 2
- issue: assertion staging->end + min < size failed at /nanos/src/fs/tlog.c:427 in log_write_internal() HOT 1
- allow passing in network settings via kernel boot args for firecracker
- Much Slower Transfer Rate for HTTP Requests Compared to Native HOT 11
- Is the `memfd_create` syscall supported? HOT 4
- Missing `FUTEX_WAKE_BITSET` implementation HOT 2
- cannot enable executable stack as shared object requires: Permission denied HOT 3
- Error in Load Testing with MySQL in Firecracker Environment - Buffer Size Issue HOT 11
- accept_tcp_from_lwip error: queue overrun; shouldn't happen with lwIP listen backlog
- block an IP at the kernel level? HOT 10
- Build Problems: Stage 2 exceeds 64KB HOT 4
- Support Azure VM Agent HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nanos.