<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/data/templates/dhcp-client/override.conf.j2, branch feature/T9082-codeql-cpp</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=feature%2FT9082-codeql-cpp</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=feature%2FT9082-codeql-cpp'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2024-03-28T06:36:22+00:00</updated>
<entry>
<title>op-mode: T6175: "renew dhcp interface &lt;name&gt;" does not check for DHCP interface</title>
<updated>2024-03-28T06:36:22+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-03-28T06:36:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=7dbaa25a199a781aaa9f269741547e576410cb11'/>
<id>urn:sha1:7dbaa25a199a781aaa9f269741547e576410cb11</id>
<content type='text'>
The current op-mode script simply calls sudo systemctl restart "dhclient@$4.service"
with no additional information about a client interface at all.

This results in useless dhclient processes
root  47812  4.7  0.0   5848  3584 ?  Ss 00:30   0:00 /sbin/dhclient -4 -d
root  48121  0.0  0.0   4188  3072 ?  S  00:30   0:00  \_ /bin/sh /sbin/dhclient-script
root  48148 50.0  0.2  18776 11264 ?  R  00:30   0:00      \_ python3 -

Which also assign client leases to all local interfaces, if we receive one
valid DHCPOFFER

vyos@vyos:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address         MAC                VRF        MTU  S/L    Description
-----------  -----------------  -----------------  -------  -----  -----  -------------
eth0         -                  00:50:56:bf:c5:6d  default   1500  u/u
eth0.10      172.16.33.102/24   00:50:56:bf:c5:6d  default   1500  u/u
eth1         172.16.33.131/24   00:50:56:b3:38:c5  default   1500  u/u

172.16.33.102/24 and 172.16.33.131/24 are stray DHCP addresses.

This commit moved the renew command to the DHCP op-mode script to properly
validate if the interface we request a renew for, has actually a dhcp address
configured. In additional this exposes the renew feature to the API.
</content>
</entry>
<entry>
<title>Revert: dhcp: T5428: always release lease from default VRF</title>
<updated>2023-08-17T11:10:38+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-08-17T11:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1a69e9bb4b4e81a6191cb3d48e36542c36a6b763'/>
<id>urn:sha1:1a69e9bb4b4e81a6191cb3d48e36542c36a6b763</id>
<content type='text'>
This reverts commit 9afcea251bdc895ffd49cb11f455fd636fdf817b

A DHCP relese must also be originated from the VRF where the dhclient program is
running, else the RELEASE message can not be send through the interface towards
the DHCP server.

The reason it did not work in the past was because of https://vyos.dev/T5476
</content>
</entry>
<entry>
<title>dhcp: T5428: always release lease from default VRF</title>
<updated>2023-08-07T21:05:12+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-08-07T20:53:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9afcea251bdc895ffd49cb11f455fd636fdf817b'/>
<id>urn:sha1:9afcea251bdc895ffd49cb11f455fd636fdf817b</id>
<content type='text'>
Otherwise packet can be received in a VRF that was already deleted.
Image of the following CLI commands:

del interface ethernet eth0 address dhcp
del interface ethernet eth0 vrf red
del vrf name red

VRF could be deleted even if dhclient release was not yet completely
processed.
</content>
</entry>
<entry>
<title>dhcp: T5428: remove hardcoded path to client runtime directories</title>
<updated>2023-08-05T07:28:03+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-08-05T07:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=96132f582ef698b84d08e5ff207e508ed0f9c5f7'/>
<id>urn:sha1:96132f582ef698b84d08e5ff207e508ed0f9c5f7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dhcp: T5428: client renewal fails when running inside VRF</title>
<updated>2023-08-04T18:13:29+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-08-04T18:13:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=782e400d6f276a8a4ee51c92f02e01e7695f55fb'/>
<id>urn:sha1:782e400d6f276a8a4ee51c92f02e01e7695f55fb</id>
<content type='text'>
vyos@vyos# run show vrf MGMT processes
 2282  sshd

There is no dhclient process running in given VRF. dhclient complains it can
not send out packets via the given interface (as it's not bound to that VRF)

Aug 02 20:29:54 dhclient[1686]: send_packet: Network is unreachable
Aug 02 20:29:54 dhclient[1686]: send_packet: please consult README file regarding broadcast address.
Aug 02 20:29:54 dhclient[1686]: dhclient.c:3001: Failed to send 300 byte long packet over fallback interface.
</content>
</entry>
</feed>
