forked from kata-containers/documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request kata-containers#221 from bergwolf/network
architecture.md: add network hotplug diagram
- Loading branch information
Showing
4 changed files
with
84 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
@startuml | ||
|
||
User->CLI: network add-interface | ||
CLI->virtcontainers: AddInterface | ||
virtcontainers->QEMU:QMP-hot-add-network | ||
virtcontainers->agent:UpdateInterface | ||
note right | ||
the agent's UpdateInterface code will need to be augmented | ||
to have a timeout/wait associated with this for the network | ||
device to appear (ie, wait for qmp to complete) | ||
end note | ||
agent->User: err, interface detail | ||
|
||
User->CLI: network del-interface | ||
CLI->virtcontainers: DeleteInterface | ||
note right | ||
There will be no call to the agent. We rely on guest kernel | ||
to clean up any state associated with the interface. | ||
end note | ||
virtcontainers->QEMU:QMP-hot-delete-network | ||
virtcontainers->User: err, interface detail | ||
|
||
User->CLI: network list-interface | ||
CLI->virtcontainers: ListInterfaces | ||
virtcontainers->agent:ListInterfaces | ||
agent->User: err, list of interface details | ||
|
||
User->CLI: network update-routes | ||
CLI->virtcontainers: UpdateRoutes | ||
note right | ||
routes are handled in a 'one shot' basis, | ||
setting all of the routes for the network. This needs to | ||
be called after interfaces are added, and should be called | ||
after interfaces are removed. It should be fine to call once | ||
after adding all of the expected interfaces. If you know all | ||
the resulting routes, simply calling set routes with the | ||
complete list should suffice. | ||
end note | ||
virtcontainers->agent:UpdateRoutes | ||
agent->User: err, list of routes | ||
|
||
User->CLI: network list-routes | ||
CLI->virtcontainers: ListRoutes | ||
virtcontainers->agent:ListRoutes | ||
agent->User: err, list of routes | ||
|
||
@enduml |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters