]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Merge pull request #15530 from ssahani/lpr-dhcpv4-option-9
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 23 Apr 2020 07:10:14 +0000 (09:10 +0200)
committerGitHub <noreply@github.com>
Thu, 23 Apr 2020 07:10:14 +0000 (09:10 +0200)
network: add support to DHCPv4 server/client option 9 LPR

1  2 
man/systemd.network.xml
src/libsystemd-network/sd-dhcp-lease.c
src/libsystemd-network/sd-dhcp-server.c
src/network/networkd-dhcp-server.c
src/network/networkd-manager.c
src/network/networkd-network-gperf.gperf
src/network/networkd-network.h

Simple merge
index 56ea1925869c605aa4c73709bcf5c84040f4e43f,abb2018810f696a43b088795a56718dee22a465a..29688f2d4fe56c8f4228b3127eeed38b391222bd
@@@ -140,9 -140,16 +140,16 @@@ int sd_dhcp_lease_get_servers
                  *addr = lease->smtp_server;
                  return (int) lease->smtp_server_size;
  
+         case SD_DHCP_LEASE_LPR_SERVERS:
+                 if (lease->lpr_server_size <= 0)
+                         return -ENODATA;
+                 *addr = lease->lpr_server;
+                 return (int) lease->lpr_server_size;
          default:
 -                log_debug("Uknown DHCP lease info item %d.", what);
 -                return -ENXIO;
 +                return log_debug_errno(SYNTHETIC_ERRNO(ENXIO),
 +                                       "Unknown DHCP lease info item %d.", what);
          }
  }
  
index 1c61749ef06af9306c79b658e0576770bc5cd0ba,e197f1ea72654bffe59ff770b87913c61332ff3c..57eed765eea364062a0a35c009776320d2a62766
@@@ -1161,9 -1171,14 +1171,14 @@@ int sd_dhcp_server_set_servers
                  n_a = &server->n_smtp_server;
                  break;
  
+         case SD_DHCP_LEASE_LPR_SERVERS:
+                 a = &server->lpr_server;
+                 n_a = &server->n_lpr_server;
+                 break;
          default:
 -                log_debug("Uknown DHCP lease info item %d.", what);
 -                return -ENXIO;
 +                return log_debug_errno(SYNTHETIC_ERRNO(ENXIO),
 +                                       "Unknown DHCP lease info item %d.", what);
          }
  
          if (*n_a == n_addresses &&
index 7859768f5e64f9838496d60a0b0d1223f827f75e,be723ddbbc6df6ae5f4dfed9f76f9cd7b5d08afb..c0df1fb2c4c381bef4cfcfce685150ee22ff5b5d
@@@ -127,8 -127,13 +127,13 @@@ static int link_push_uplink_to_dhcp_ser
                  lease_condition = link->network->dhcp_use_sip;
                  break;
  
+         case SD_DHCP_LEASE_LPR_SERVERS:
+                 servers = link->network->lpr;
+                 lease_condition = true;
+                 break;
          default:
 -                assert_not_reached("Uknown DHCP lease info item");
 +                assert_not_reached("Unknown DHCP lease info item");
          }
  
          char **a;
Simple merge
Simple merge