]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
dhcp: relocate type field
authorColin Foster <colin.foster@in-advantage.com>
Wed, 11 Jun 2025 10:50:20 +0000 (05:50 -0500)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 13 Jun 2025 04:35:21 +0000 (13:35 +0900)
The type field is a DHCP-specific parameter. Relocate the parameter so
there is a clearer separation between DHCP and BOOTP parameters.

src/libsystemd-network/dhcp-packet.c
src/libsystemd-network/dhcp-packet.h
src/libsystemd-network/sd-dhcp-client.c
src/libsystemd-network/sd-dhcp-server.c
src/libsystemd-network/test-dhcp-option.c

index 46317c997cec4fe988cfd9010397182971227fde..f08eef01c968d4ca969b6afe4b96bad533807c9f 100644 (file)
@@ -17,10 +17,10 @@ int dhcp_message_init(
                 DHCPMessage *message,
                 uint8_t op,
                 uint32_t xid,
-                uint8_t type,
                 uint16_t arp_type,
                 uint8_t hlen,
                 const uint8_t *chaddr,
+                uint8_t type,
                 size_t optlen,
                 size_t *optoffset) {
 
index a7f2e12b4f1c0a417eddcddf17841643e7507a85..c289daa038e079d21cba418e07051ad0e2082990 100644 (file)
@@ -8,10 +8,10 @@ int dhcp_message_init(
                 DHCPMessage *message,
                 uint8_t op,
                 uint32_t xid,
-                uint8_t type,
                 uint16_t arp_type,
                 uint8_t hlen,
                 const uint8_t *chaddr,
+                uint8_t type,
                 size_t optlen,
                 size_t *optoffset);
 
index 2cb60b92ce937a31ac982fdb8710b84df71aa37a..7e2ce91a314b45f6ca463cfa83712abf3410ccf2 100644 (file)
@@ -789,9 +789,9 @@ static int client_message_init(
         if (!packet)
                 return -ENOMEM;
 
-        r = dhcp_message_init(&packet->dhcp, BOOTREQUEST, client->xid, type,
+        r = dhcp_message_init(&packet->dhcp, BOOTREQUEST, client->xid,
                               client->arp_type, client->hw_addr.length, client->hw_addr.bytes,
-                              optlen, &optoffset);
+                              type, optlen, &optoffset);
         if (r < 0)
                 return r;
 
index af87b1523863fbe25f06c15dd3b715eadc27b250..099362d1ae3e8865f86caaab6345f7659ced8f35 100644 (file)
@@ -518,9 +518,9 @@ static int server_message_init(
                 return -ENOMEM;
 
         r = dhcp_message_init(&packet->dhcp, BOOTREPLY,
-                              be32toh(req->message->xid), type,
+                              be32toh(req->message->xid),
                               req->message->htype, req->message->hlen, req->message->chaddr,
-                              req->max_optlen, &optoffset);
+                              type, req->max_optlen, &optoffset);
         if (r < 0)
                 return r;
 
@@ -713,7 +713,7 @@ static int server_send_forcerenew(
                 return -ENOMEM;
 
         r = dhcp_message_init(&packet->dhcp, BOOTREPLY, 0,
-                              DHCP_FORCERENEW, htype, hlen, chaddr,
+                              htype, hlen, chaddr, DHCP_FORCERENEW,
                               DHCP_MIN_OPTIONS_SIZE, &optoffset);
         if (r < 0)
                 return r;
index 9e36e0385994e222a07f97172ee59cb7683df367..05572e0b21a28f5b94c3ce0c4023a9353c887a7b 100644 (file)
@@ -87,7 +87,7 @@ static void test_message_init(void) {
         message = malloc0(len);
 
         assert_se(dhcp_message_init(message, BOOTREQUEST, 0x12345678,
-                                    DHCP_DISCOVER, ARPHRD_ETHER, ETH_ALEN, (uint8_t[16]){},
+                                    ARPHRD_ETHER, ETH_ALEN, (uint8_t[16]){}, DHCP_DISCOVER,
                                     optlen, &optoffset) >= 0);
 
         assert_se(message->xid == htobe32(0x12345678));