Skip to content

Conversation

@rpardini
Copy link
Member

@rpardini rpardini commented Aug 17, 2024

hook: vlan.sh: fix 'parse_cmdline' bug; if no hw_addr specified, default ifname to eth0

  • parse_cmdline is actually parse_kernel_cmdline_for
  • no reason to double-newline results
  • allow for simple vlan_id=xxx without hwaddr for single-interface or first-interface VLAN scenarios

Signed-off-by: Ricardo Pardini ricardo@pardini.net

hook: introduce hook-ip container for vlan.sh

  • Based on linuxkit/ip pkg, sans wireguard stuff; add GNU sed needed for /proc/cmdline parsing

Signed-off-by: Ricardo Pardini ricardo@pardini.net

…ult ifname to eth0

- `parse_cmdline` is actually `parse_kernel_cmdline_for`
- no reason to double-newline results
- allow for simple vlan_id=xxx without hwaddr for single-interface or first-interface VLAN scenarios

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- Based on linuxkit/ip pkg, sans wireguard stuff; add GNU sed needed for /proc/cmdline parsing

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
Comment on lines +1 to +23
FROM linuxkit/alpine:146f540f25cd92ec8ff0c5b0c98342a9a95e479e AS mirror
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
RUN apk add curl
RUN apk add --no-cache --initdb -p /out \
alpine-baselayout \
bash \
busybox \
iproute2 \
iptables \
ebtables \
ipvsadm \
bridge-utils \
musl \
sed

# Remove apk residuals
RUN rm -rf /out/etc/apk /out/lib/apk /out/var/cache

FROM scratch
ENTRYPOINT []
CMD []
WORKDIR /
COPY --from=mirror /out/ /
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, why do we need this new image? i dont see any of these tools being used?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. I just copied linuxkit/ip -- previously used directly -- from https://github.com/linuxkit/linuxkit/blob/master/pkg/ip/Dockerfile -- just to add sed (GNU sed) required for proper kernel cmdline parsing in the bash code. I discovered busybox's sed didn't really work when I tried actually passing a vlan_id=876 parameter and that failed.

As for the tools: I kept the original ones we had there, minus wireguard. I agree that probably most of them aren't used either.

Copy link
Member

@jacobweinstock jacobweinstock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank @rpardini , FYI, I added the hook-ip repo in quay.io https://quay.io/repository/tinkerbell/hook-ip

@jacobweinstock jacobweinstock added the ready-to-merge Signal to Mergify to merge the PR. label Aug 27, 2024
@mergify mergify bot merged commit 526b4a3 into tinkerbell:main Aug 27, 2024
@rpardini rpardini deleted the fix-vlan-handling branch March 5, 2025 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Signal to Mergify to merge the PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants