Skip to content

udhcpc: DHCP release is not sent if ARP entry is not already present #92

@jcpvdm

Description

@jcpvdm

Environment:

  • BusyBox v1.36.1 (2024-06-10 15:30:53 UTC) multi-call binary
  • Docker container "Alpine Linux edge" 3.21.0_alpha20240807
  • macvlan interface on a non-default namespace
  • linux kernel 5.14.0-362.18.1.el9_3.0.1.x86_64

Problem
Sending signal USR2 to release IPv4 only generates a DHCP Release message if there is an already existing ARP entry that resolves the next-hop. If there isn't, the IP is removed from the interface but DHCP Release message is not sent.

I see ARP request-reply at the moment, therefore I suspect it is attempting to send the release message but is removing the IP address too quickly from the interface, and by the time ARP resolution completes there is no IP address available to source the DHCP Release message, dropping the packet.

/ # kill -USR2 24426
/ # udhcpc: unicasting a release of 10.112.240.141 to 10.223.255.118
udhcpc: sending release
udhcpc: entering released state

#tcpdump output
11:12:17.052045 ARP, Request who-has 10.112.192.1 tell 10.112.240.141, length 28
11:12:17.081806 ARP, Reply 10.112.192.1 is-at 00:00:5e:00:01:7e, length 46

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions