You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/kathara-check.1.ronn
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,10 +23,11 @@ Should give an output like this:
23
23
24
24
* Current Manager is: `<your_manager_name>`
25
25
* Manager version is: `<your_manager_version>`
26
-
* Trying to run `Hello World` container...
27
-
* Container run successfully.
28
26
* Python version is: `<python_version_used>`
29
27
* Kathara version is: `<kathara_version>`
28
+
* Operating System version is: `<your_os>`
29
+
* Trying to run container with `<your_default_image>` image...
30
+
* Container run successfully.
30
31
31
32
**NOTE:** If you are using the released version, the Python version could be different from the one installed in your system because it is packed into the Kathara binary.
Copy file name to clipboardExpand all lines: docs/kathara-lab.conf.5.ronn
+56-37Lines changed: 56 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,41 +8,59 @@ The main network scenario configuration file. In this file you can specify the n
8
8
9
9
This file is a list of `device[arg]=value` assignments, where `arg` can be an integer value or the name of an option (described below).
10
10
11
-
If `arg` is an integer value, then `value` is the name of the collision domain to which interface eth`arg` of device `device` must be connected (note that the name of the collision domain must not contain spaces (" "), commas (",") and dots ("."). For example, `pc1[0]=CD1` means that interface eth0 of device pc1 will be connected to collision domain CD1.
11
+
In order to establish a uniform convention, comment lines should always start with a hash character (`#`).
12
12
13
-
If `arg` is an option name, then `device` will be launched with option `arg` set to value `value`.
13
+
## DEVICE INTERFACES
14
14
15
-
In order to establish a uniform convention, comment lines should always start with a hash character (`#`).
15
+
If `arg` is an integer value, then `value` is the name of the collision domain to which interface eth`arg` of device `device` must be connected. The syntax is as follows:
16
+
17
+
-`arg`: An integer value representing the interface number (e.g., 0).
18
+
-`CD1`: The name of the collision domain to which the specified interface must be connected. Note that the name of the collision domain must not contain spaces (" "), commas (",") and dots (".").
19
+
-`/MAC_ADDR`: An optional parameter to specify the MAC address of the interface of `device` (MAC address must be in the format `XX:XX:XX:XX:XX:XX`). If `MAC_ADDR` is not provided, Kathara will assign a random one.
20
+
21
+
### EXAMPLES
22
+
23
+
1. Connect eth0 of `pc1` to collision domain `CD1` with a random MAC address:
24
+
```
25
+
pc1[0]="CD1"
26
+
```
27
+
28
+
2. Connect eth1 of `pc1` to collision domain `CD2` with the specified MAC address:
29
+
```
30
+
pc1[1]="CD2/02:42:ac:11:00:02"
31
+
```
16
32
17
33
## DEVICE OPTIONS
18
34
35
+
If `arg` is an option name, then `device` will be launched with option `arg` set to value `value`.
36
+
19
37
*`image` (string):
20
-
Docker image used for this device.
38
+
Docker image used for this device.
21
39
22
40
*`mem` (string):
23
-
Set the amount of available RAM inside the device. If you set this option, the minimum allowed value is 4m (4 megabyte).
41
+
Set the amount of available RAM inside the device. If you set this option, the minimum allowed value is 4m (4 megabyte).
24
42
25
-
This option takes a positive integer, followed by a suffix of "b", "k", "m", "g", to indicate bytes, kilobytes, megabytes, or gigabytes.
43
+
This option takes a positive integer, followed by a suffix of "b", "k", "m", "g", to indicate bytes, kilobytes, megabytes, or gigabytes.
26
44
27
45
*`cpus` (float):
28
-
Limit the amount of CPU available for this device.
46
+
Limit the amount of CPU available for this device.
29
47
30
-
This option takes a positive float, ranging from 0 to max number of host logical CPUs. For instance, if the host device has two CPUs and you set `device[cpus]=1.5`, the device is guaranteed at most one and a half of the CPUs.
48
+
This option takes a positive float, ranging from 0 to max number of host logical CPUs. For instance, if the host device has two CPUs and you set `device[cpus]=1.5`, the device is guaranteed at most one and a half of the CPUs.
31
49
32
50
*`port` (string):
33
-
Map localhost port HOST to the internal port GUEST of the device for the specified PROTOCOL. The syntax is [HOST:]GUEST[/PROTOCOL].
51
+
Map localhost port HOST to the internal port GUEST of the device for the specified PROTOCOL. The syntax is [HOST:]GUEST[/PROTOCOL].
34
52
35
-
If HOST port is not specified, default is 3000. If PROTOCOL is not specified, default is `tcp`. Supported PROTOCOL values are: tcp, udp, or sctp.
36
-
For instance, with this command you can map host's port 8080 to device's port 80 with TCP protocol: `device[port]="8080:80/tcp"`.
53
+
If HOST port is not specified, default is 3000. If PROTOCOL is not specified, default is `tcp`. Supported PROTOCOL values are: tcp, udp, or sctp.
54
+
For instance, with this command you can map host's port 8080 to device's port 80 with TCP protocol: `device[port]="8080:80/tcp"`.
37
55
38
56
*`bridged` (boolean):
39
-
Connect the device to the host network by adding an additional network interface. This interface will be connected to the host network through a NAT connection.
57
+
Connect the device to the host network by adding an additional network interface. This interface will be connected to the host network through a NAT connection.
40
58
41
59
*`ipv6` (boolean):
42
-
Enable or disable IPv6 on this device.
60
+
Enable or disable IPv6 on this device.
43
61
44
62
*`exec` (string):
45
-
Run a specific shell command inside the device during the startup phase.
63
+
Run a specific shell command inside the device during the startup phase.
46
64
47
65
*`sysctl` (string):
48
66
Set a sysctl option for this device. Only the `net.` namespace is allowed to be set. Can be set multiple times per device, each will add a new entry (unless the same config item is used again).
@@ -51,10 +69,10 @@ In order to establish a uniform convention, comment lines should always start wi
51
69
Set an environment variable for the device. Can be set multiple times per device, each will add a new entry (unless the same variable is used again). The format is: ENV_NAME=ENV_VALUE.
52
70
53
71
*`shell` (string):
54
-
Use the specified shell to connect to the device, e.g., when `kathara connect` is called.
72
+
Use the specified shell to connect to the device, e.g., when `kathara connect` is called.
55
73
56
74
*`num_terms` (integer):
57
-
Choose the number of terminals to open for this device.
75
+
Choose the number of terminals to open for this device.
58
76
59
77
## NETWORK SCENARIO META INFORMATION
60
78
@@ -69,32 +87,33 @@ It is also possible to provide descriptive information about a network scenario
@@ -24,25 +24,34 @@ Manage the network interfaces of a running Kathara device in a network scenario.
24
24
*`-n` <DEVICE_NAME>, `--name` <DEVICE_NAME>:
25
25
Name of the device to configure.
26
26
27
-
*`--add` <CD> [<CD> ...]:
28
-
Specify the collision domain to add.
29
-
30
-
Equip the device with an additional network interface attached to a (virtual) collision domain whose name is <CD>. The number of the resulting network interface is generated incrementing the number of the last network interface used by the device.
27
+
*`--add` <CD[/MAC_ADDR]> [<CD[/MAC_ADDR]> ...]:
28
+
Specify the collision domain to be connected to the device:
29
+
30
+
`CD`: The name of the collision domain to which the specified interface must be connected. Note that the name of the collision domain must not contain spaces (" "), commas (",") and dots (".").
31
+
32
+
`/MAC_ADDR`: An optional parameter to specify the MAC address of the interface (MAC address must be in the format `XX:XX:XX:XX:XX:XX`). If `MAC_ADDR` is not provided, Kathara will assign a random one.
33
+
34
+
Equip the device with an additional network interface attached to a (virtual) collision domain whose name is <CD>.
35
+
The number of the resulting network interface is generated incrementing the number of the last network interface used by the device.
31
36
32
37
*`--rm` <CD> [<CD> ...]:
33
-
Specify the collision domain to remove.
38
+
Specify the collision domain to be disconnected from the device.
34
39
35
40
Disconnect the device from the collision domain whose name is <CD> and remove the corresponding interface.
36
41
37
42
## EXAMPLES
38
43
44
+
Connect `pc1` to collision domain `X` and `Y` (with random MAC addresses):
45
+
39
46
kathara lconfig -d path/to/network_scenario -n pc1 --add X Y
40
47
41
-
Two new interfaces will be added to the device pc1 in the network scenario located in "path/to/network_scenario": the first one will be attached to the collision domain named X, while the other one to the collision domain named Y. Both the interfaces will have to be configured by hand inside the device (for example, by using ifconfig).
42
-
43
-
kathara vconfig -n pc1 --rm X
48
+
Connect `pc1` to collision domain `X` with the specified MAC address:
pc1, in the network scenario located in "path/to/network_scenario", will be disconnected from the collision domain named X and the corresponding network interface will be removed.
52
+
Disconnect `pc1` from collision domain `X` and remove the corresponding interface:
53
+
54
+
kathara lconfig -d path/to/network_scenario -n pc1 --rm X
@@ -18,26 +18,35 @@ Manage the network interfaces of a running Kathara device. The affected device i
18
18
*`-n` <DEVICE_NAME>, `--name` <DEVICE_NAME>:
19
19
Name of the device to manage.
20
20
21
-
*`--add` <CD> [<CD> ...]:
22
-
Specify the collision domain to add.
23
-
24
-
Equip the device with an additional network interface attached to a (virtual) collision domain whose name is <CD>. The number of the resulting network interface is generated incrementing the number of the last network interface used by the device.
21
+
*`--add` <CD[/MAC_ADDR]> [<CD[/MAC_ADDR]> ...]:
22
+
Specify the collision domain to be connected to the device:
23
+
24
+
`CD`: The name of the collision domain to which the specified interface must be connected. Note that the name of the collision domain must not contain spaces (" "), commas (",") and dots (".").
25
+
26
+
`/MAC_ADDR`: An optional parameter to specify the MAC address of the interface (MAC address must be in the format `XX:XX:XX:XX:XX:XX`). If `MAC_ADDR` is not provided, Kathara will assign a random one.
27
+
28
+
Equip the device with an additional network interface attached to a (virtual) collision domain whose name is <CD>.
29
+
The number of the resulting network interface is generated incrementing the number of the last network interface used by the device.
25
30
26
31
*`--rm` <CD> [<CD> ...]:
27
-
Specify the collision domain to remove.
32
+
Specify the collision domain to be disconnected from the device.
28
33
29
34
Disconnect the device from the collision domain whose name is <CD> and remove the corresponding interface.
30
35
31
36
## EXAMPLES
32
37
38
+
Connect `pc1` to collision domain `X` and `Y` (with random MAC addresses):
39
+
33
40
kathara vconfig -n pc1 --add X Y
34
41
35
-
Two new interfaces will be added to the device pc1: the first one will be attached to the collision domain named X, while the other one to the collision domain named Y. Both the interfaces will have to be configured by hand inside the device (for example, by using ifconfig).
42
+
Connect `pc1` to collision domain `X` with the specified MAC address:
43
+
44
+
kathara vconfig -n pc1 --add X/00:00:00:00:00:01
36
45
46
+
Disconnect `pc1` from collision domain `X` and remove the corresponding interface:
47
+
37
48
kathara vconfig -n pc1 --rm X
38
49
39
-
pc1 will be disconnected from the collision domain named X and the corresponding network interface will be removed.
@@ -42,9 +42,13 @@ Notice: unless differently stated, command line arguments (DEVICE_NAME) and opti
42
42
*`-n` <DEVICE_NAME>, `--name` <DEVICE_NAME>:
43
43
Name of the device to be started.
44
44
45
-
*`--eth` <N\:CD> [<N\:CD> ...]:
45
+
*`--eth`<N:CD[/MAC_ADDR]>[<N:CD[/MAC_ADDR]> ...]:
46
46
Set a specific interface on a collision domain.
47
-
47
+
48
+
`CD`: The name of the collision domain to which the specified interface must be connected. Note that the name of the collision domain must not contain spaces (" "), commas (",") and dots (".").
49
+
50
+
`/MAC_ADDR`: An optional parameter to specify the MAC address of the interface (MAC address must be in the format `XX:XX:XX:XX:XX:XX`). If `MAC_ADDR` is not provided, Kathara will assign a random one.
51
+
48
52
Equip the device with a network interface. `N` is a positive integer starting from 0.
49
53
The network interface will be attached to a (virtual) collision domain whose name is `CD`. Attaching interfaces of different devices to the same collision domain allows them to exchange network traffic. <N> should be declared as a sequential number, starting from 0; if any intermediate number is missing an exception is raised.
0 commit comments