There are two parts to networking within QEMU:
- The virtual network device that is provided to the guest (e.g. a PCI network card).
- The network backend that interacts with the emulated NIC (e.g. puts packets onto the host's network).
| package main | |
| import ( | |
| "encoding/json" | |
| "fmt" | |
| "github.com/jaypipes/ghw" | |
| ) | |
| var ( |
| #!/bin/bash | |
| read -r -d '' license <<-"EOF" | |
| /* Copyright (c) 2010-2017, Delft University of Technology | |
| * All rights reserved | |
| * | |
| * This file is part of the Tudat. Redistribution and use in source and | |
| * binary forms, with or without modification, are permitted exclusively | |
| * under the terms of the Modified BSD license. You should have received | |
| * a copy of the license with this file. If not, please or visit: | |
| * http://tudat.tudelft.nl/LICENSE. |
| package main | |
| import ( | |
| "fmt" | |
| "math/rand" | |
| "os" | |
| "strconv" | |
| "sync" | |
| "time" | |
| ) |
| // https://banu.com/blog/2/how-to-use-epoll-a-complete-example-in-c/ | |
| // http://www.kegel.com/poller/ | |
| /** Todo | |
| * - [ ] Split i/o and logic | |
| * - [ ] Unit test logic | |
| * - [ ] Logging | |
| * - [ ] Continuous integration | |
| * - [ ] Linux | |
| * - [ ] Windows |
| # Borrowed from: | |
| # https://github.com/silven/go-example/blob/master/Makefile | |
| # https://vic.demuzere.be/articles/golang-makefile-crosscompile/ | |
| BINARY = superdo | |
| VET_REPORT = vet.report | |
| TEST_REPORT = tests.xml | |
| GOARCH = amd64 | |
| VERSION?=? |
| package main | |
| import ( | |
| "flag" | |
| "fmt" | |
| "net" | |
| "os" | |
| "sync" | |
| "time" | |
| ) |
| package main | |
| import ( | |
| "flag" | |
| "net" | |
| "os" | |
| "time" | |
| "github.com/singchia/go-hammer/circulinker" | |
| ) |
| package main | |
| import ( | |
| "flag" | |
| "net" | |
| "os" | |
| ) | |
| func main() { | |
| var addr string |