Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Error messages #494

Merged
merged 1 commit into from
Dec 25, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 7 additions & 12 deletions src/network.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ configureDHCP() {

if (( rc != 0 )); then
error "Cannot create macvtap interface. Please make sure the network type is 'macvlan' and not 'ipvlan',"
error "and that the NET_ADMIN capability has been added to the container config: --cap-add NET_ADMIN" && exit 16
error "and that the NET_ADMIN capability has been added to the container: --cap-add NET_ADMIN" && exit 16
fi

while ! ip link set "$VM_NET_TAP" up; do
Expand All @@ -53,15 +53,13 @@ configureDHCP() {
{ exec 30>>"$TAP_PATH"; rc=$?; } 2>/dev/null || :

if (( rc != 0 )); then
error "Cannot create TAP interface ($rc). Please add the following docker settings to your "
error "container: --device-cgroup-rule='c $MAJOR:* rwm' --device=/dev/vhost-net" && exit 21
error "Cannot create TAP interface ($rc). Please add the following setting to your container: --device-cgroup-rule='c *:* rwm'" && exit 21
fi

{ exec 40>>/dev/vhost-net; rc=$?; } 2>/dev/null || :

if (( rc != 0 )); then
error "VHOST can not be found ($rc). Please add the following "
error "docker setting to your container: --device=/dev/vhost-net" && exit 22
error "VHOST can not be found ($rc). Please add the following setting to your container: --device=/dev/vhost-net" && exit 22
fi

NET_OPTS="-netdev tap,id=hostnet0,vhost=on,vhostfd=40,fd=30"
Expand Down Expand Up @@ -100,8 +98,7 @@ configureNAT () {
{ ip link add dev dockerbridge type bridge ; rc=$?; } || :

if (( rc != 0 )); then
error "Capability NET_ADMIN has not been set most likely. Please add the "
error "following docker setting to your container: --cap-add NET_ADMIN" && exit 23
error "Failed to create bridge. Please add the following setting to your container: --cap-add NET_ADMIN" && exit 23
fi

ip address add ${VM_NET_IP%.*}.1/24 broadcast ${VM_NET_IP%.*}.255 dev dockerbridge
Expand Down Expand Up @@ -138,7 +135,7 @@ configureNAT () {
if [[ $(< /proc/sys/net/ipv4/ip_forward) -eq 0 ]]; then
{ sysctl -w net.ipv4.ip_forward=1 ; rc=$?; } || :
if (( rc != 0 )); then
error "Please add the following docker setting to your container: --sysctl net.ipv4.ip_forward=1" && exit 24
error "IP forwarding is disabled. Please add the following setting to your container: --sysctl net.ipv4.ip_forward=1" && exit 24
fi
fi

Expand Down Expand Up @@ -192,7 +189,7 @@ if [ ! -c /dev/net/tun ]; then
fi

if [ ! -c /dev/net/tun ]; then
error "Please add the following docker setting to your container: --device=/dev/net/tun" && exit 25
error "TUN device missing. Please add the following setting to your container: --cap-add NET_ADMIN" && exit 25
fi

# Create the necessary file structure for /dev/vhost-net
Expand All @@ -216,9 +213,7 @@ fi
if [[ "$DHCP" == [Yy1]* ]]; then

if [[ "$GATEWAY" == "172."* ]]; then
if [[ "$DEBUG" == [Yy1]* ]]; then
info "Warning: Are you sure the container is on a macvlan network?"
else
if [[ "$DEBUG" != [Yy1]* ]]; then
error "You can only enable DHCP while the container is on a macvlan network!" && exit 26
fi
fi
Expand Down