Displaying 17 results from an estimated 17 matches for "bootp_hdr".
2012 May 22
0
[klibc:master] ipconfig: Write $DOMAINSEARCH as domain-search
...fig/netdev.h       |    1 +
 5 files changed, 253 insertions(+), 3 deletions(-)
diff --git a/usr/kinit/ipconfig/bootp_packet.h b/usr/kinit/ipconfig/bootp_packet.h
index 6016e5f..1ef505e 100644
--- a/usr/kinit/ipconfig/bootp_packet.h
+++ b/usr/kinit/ipconfig/bootp_packet.h
@@ -28,4 +28,14 @@ struct bootp_hdr {
 	/* 312 bytes of extensions */
 };
 
+/*
+ * memory size of BOOTP Vendor Extensions/DHCP Options for receiving
+ *
+ * generic_ether_mtu:1500, min_sizeof(ip_hdr):20, sizeof(udp_hdr):8
+ *
+ * #define BOOTP_EXTS_SIZE	(1500 - 20 - 8 - sizeof(struct bootp_hdr))
+ */
+/* larger size for backward com...
2012 May 22
0
[klibc:master] ipconfig: Append padding if DHCP packet length < 300 octets
...c   |   18 +++++++++++++++++-
 2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/usr/kinit/ipconfig/bootp_packet.h b/usr/kinit/ipconfig/bootp_packet.h
index 1ef505e..1d5bd0d 100644
--- a/usr/kinit/ipconfig/bootp_packet.h
+++ b/usr/kinit/ipconfig/bootp_packet.h
@@ -38,4 +38,7 @@ struct bootp_hdr {
 /* larger size for backward compatibility of ipconfig */
 #define BOOTP_EXTS_SIZE	1500
 
+/* minimum length of BOOTP/DHCP packet on sending */
+#define BOOTP_MIN_LEN	300
+
 #endif /* BOOTP_PACKET_H */
diff --git a/usr/kinit/ipconfig/dhcp_proto.c b/usr/kinit/ipconfig/dhcp_proto.c
index 0c907e9..e...
2009 Apr 07
2
[PATCH] ipconfig: send hostname in DHCP request
...lass */
-	[5] = {dhcp_end, sizeof(dhcp_end)}
+	/* [4] = optional vendor class */
+	/* [5] = optional hostname */
+	/* [6] = {dhcp_end, sizeof(dhcp_end)} */
 };
 
 /*
@@ -164,6 +166,8 @@ static int dhcp_recv(struct netdev *dev)
 static int dhcp_send(struct netdev *dev, struct iovec *vec)
 {
 	struct bootp_hdr bootp;
+	char dhcp_hostname[SYS_NMLN+2];
+	int i = 4;
 
 	memset(&bootp, 0, sizeof(struct bootp_hdr));
 
@@ -179,12 +183,35 @@ static int dhcp_send(struct netdev *dev, struct iovec *vec)
 	vec[1].iov_base	= &bootp;
 	vec[1].iov_len	= sizeof(struct bootp_hdr);
 
-	vec[4].iov_base = vendor_cl...
2025 Feb 15
1
[PATCH] ipconfig: align reads of ext for sparc64
...changed, 5 insertions(+), 2 deletions(-)
diff --git a/usr/kinit/ipconfig/dhcp_proto.c b/usr/kinit/ipconfig/dhcp_proto.c
index 4e560b84..2b83de45 100644
--- a/usr/kinit/ipconfig/dhcp_proto.c
+++ b/usr/kinit/ipconfig/dhcp_proto.c
@@ -112,8 +112,11 @@ static int dhcp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 				break;
 			switch (opt) {
 			case 51:	/* IP Address Lease Time */
-				if (len == 4)
-					leasetime = ntohl(*(uint32_t *)ext);
+				if (len == 4) {
+					/* Sparc64 needs ext reads to be type aligned */
+					memcpy(&leasetime, ext, 4);
+					leasetime = ntohl(leasetime);
+				}...
2011 Jul 18
2
ipconfig:About the length of 'options' field of DHCP packet
...static struct iovec dhcp_request_iov[DHCP_IOV_LEN] = {
 	/* [4] = optional vendor class */
 	/* [5] = optional hostname */
 	/* [6] = {dhcp_end, sizeof(dhcp_end)} */
+	/* [7] = optional padding */
 };
 
 /*
@@ -167,6 +169,7 @@ static int dhcp_send(struct netdev *dev, struct iovec *vec)
 {
 	struct bootp_hdr bootp;
 	char dhcp_hostname[SYS_NMLN+2];
+	uint8_t options_padding[64];
 	int i = 4;
 
 	memset(&bootp, 0, sizeof(struct bootp_hdr));
@@ -212,6 +215,25 @@ static int dhcp_send(struct netdev *dev, struct iovec *vec)
 	vec[i].iov_base = dhcp_end;
 	vec[i].iov_len  = sizeof(dhcp_end);
 
+
+	if(dev...
2017 Dec 19
0
[PATCH] Implement classless static routes
...dth = netmask_width;
+		route->next = NULL;
+
+		if (prev_route == NULL) {
+			routes = route;
+		} else {
+			prev_route->next = route;
+		}
+		prev_route = route;
+	}
+	return routes;
+}
+
 /*
  * Parse a bootp reply packet
  */
@@ -275,6 +356,8 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 {
 	uint8_t ext119_buf[BOOTP_EXTS_SIZE];
 	int16_t ext119_len = 0;
+	uint8_t ext121_buf[BOOTP_EXTS_SIZE];
+	int16_t ext121_len = 0;
 
 	dev->bootp.gateway	= hdr->giaddr;
 	dev->ip_addr		= hdr->yiaddr;
@@ -367,6 +450,16 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,...
2008 Jun 14
2
PATCH: ipconfig may discard useful packets
...es changed, 43 insertions(+), 20 deletions(-)
diff --git a/usr/kinit/ipconfig/bootp_proto.c b/usr/kinit/ipconfig/bootp_proto.c
index 236bde9..7df3137 100644
--- a/usr/kinit/ipconfig/bootp_proto.c
+++ b/usr/kinit/ipconfig/bootp_proto.c
@@ -153,6 +153,10 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 /*
  * Receive a bootp reply and parse packet
+ * Returns:
+ *-1 = Error in packet_recv, try again later
+ * 0 = Unexpected packet, discarded
+ * 1 = Correctly received and parsed packet
  */
 int bootp_recv_reply(struct netdev *dev)
 {
@@ -167,7 +171,7 @@ int bootp_recv_reply(struct netdev...
2018 Jun 12
0
[PATCH v2] Implement classless static routes
...dth = netmask_width;
+		route->next = NULL;
+
+		if (prev_route == NULL) {
+			routes = route;
+		} else {
+			prev_route->next = route;
+		}
+		prev_route = route;
+	}
+	return routes;
+}
+
 /*
  * Parse a bootp reply packet
  */
@@ -275,6 +356,8 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 {
 	uint8_t ext119_buf[BOOTP_EXTS_SIZE];
 	int16_t ext119_len = 0;
+	uint8_t ext121_buf[BOOTP_EXTS_SIZE];
+	int16_t ext121_len = 0;
 
 	dev->bootp.gateway	= hdr->giaddr;
 	dev->ip_addr		= hdr->yiaddr;
@@ -367,6 +450,16 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,...
2019 Jan 18
0
[klibc:master] ipconfig: Implement classless static routes
...dth = netmask_width;
+		route->next = NULL;
+
+		if (prev_route == NULL) {
+			routes = route;
+		} else {
+			prev_route->next = route;
+		}
+		prev_route = route;
+	}
+	return routes;
+}
+
 /*
  * Parse a bootp reply packet
  */
@@ -275,6 +356,8 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 {
 	uint8_t ext119_buf[BOOTP_EXTS_SIZE];
 	int16_t ext119_len = 0;
+	uint8_t ext121_buf[BOOTP_EXTS_SIZE];
+	int16_t ext121_len = 0;
 
 	dev->bootp.gateway	= hdr->giaddr;
 	dev->ip_addr		= hdr->yiaddr;
@@ -367,6 +450,16 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,...
2018 Jun 18
1
[PATCH v3 1/2] Implement classless static routes
...dth = netmask_width;
+		route->next = NULL;
+
+		if (prev_route == NULL) {
+			routes = route;
+		} else {
+			prev_route->next = route;
+		}
+		prev_route = route;
+	}
+	return routes;
+}
+
 /*
  * Parse a bootp reply packet
  */
@@ -275,6 +356,8 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 {
 	uint8_t ext119_buf[BOOTP_EXTS_SIZE];
 	int16_t ext119_len = 0;
+	uint8_t ext121_buf[BOOTP_EXTS_SIZE];
+	int16_t ext121_len = 0;
 
 	dev->bootp.gateway	= hdr->giaddr;
 	dev->ip_addr		= hdr->yiaddr;
@@ -367,6 +450,16 @@ int bootp_parse(struct netdev *dev, struct bootp_hdr *hdr,...
2025 Feb 28
0
[PATCH] ipconfig: align reads of ext for RISC architectures
...changed, 5 insertions(+), 2 deletions(-)
diff --git a/usr/kinit/ipconfig/dhcp_proto.c b/usr/kinit/ipconfig/dhcp_proto.c
index 4e560b84..2b83de45 100644
--- a/usr/kinit/ipconfig/dhcp_proto.c
+++ b/usr/kinit/ipconfig/dhcp_proto.c
@@ -112,8 +112,11 @@ static int dhcp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 				break;
 			switch (opt) {
 			case 51:	/* IP Address Lease Time */
-				if (len == 4)
-					leasetime = ntohl(*(uint32_t *)ext);
+				if (len == 4) {
+					/* Sparc64 needs ext reads to be type aligned */
+					memcpy(&leasetime, ext, 4);
+					leasetime = ntohl(leasetime);
+				}...
2025 Feb 28
1
[PATCH v2] ipconfig: align reads of ext for RISC architectures
...changed, 5 insertions(+), 2 deletions(-)
diff --git a/usr/kinit/ipconfig/dhcp_proto.c b/usr/kinit/ipconfig/dhcp_proto.c
index 4e560b84..2b83de45 100644
--- a/usr/kinit/ipconfig/dhcp_proto.c
+++ b/usr/kinit/ipconfig/dhcp_proto.c
@@ -112,8 +112,11 @@ static int dhcp_parse(struct netdev *dev, struct bootp_hdr *hdr,
 				break;
 			switch (opt) {
 			case 51:	/* IP Address Lease Time */
-				if (len == 4)
-					leasetime = ntohl(*(uint32_t *)ext);
+				if (len == 4) {
+					/* Sparc64 needs ext reads to be type aligned */
+					memcpy(&leasetime, ext, 4);
+					leasetime = ntohl(leasetime);
+				}...
2008 Jun 14
5
PATCH: ipconfig may accept DHCPOFFER as DHCPACK
Hello,
I found a bug in ipconfig and I'm sending a proposed patch for it.
I've only seen it happen in 2 dhcp-server environments. Scenario:
ipconfig sends a DHCP_DISCOVER,
server A answers with a DHCP_OFFER,
server B answers with a DHCP_OFFER,
ipconfig sends a DHCP_REQUEST for server A,
ipconfig accepts the DHCP_OFFER from server B instead of DHCP_ACK from
server A. <== BUG
The reason
2010 Aug 25
0
[patch] ipconfig fixes + run-init nit
...config/bootp_proto.c
index 42dfad3..baf9d3e 100644
--- a/usr/kinit/ipconfig/bootp_proto.c
+++ b/usr/kinit/ipconfig/bootp_proto.c
@@ -171,7 +171,7 @@ int bootp_recv_reply(struct netdev *dev)
 
 	ret = packet_recv(iov, 3);
 	if (ret <= 0)
-		return -1;
+		return ret;
 
 	if (ret < sizeof(struct bootp_hdr) ||
 	    bootp.op != BOOTP_REPLY ||	/* RFC951 7.5 */
diff --git a/usr/kinit/ipconfig/dhcp_proto.c b/usr/kinit/ipconfig/dhcp_proto.c
index 2a2651a..fc0494d 100644
--- a/usr/kinit/ipconfig/dhcp_proto.c
+++ b/usr/kinit/ipconfig/dhcp_proto.c
@@ -148,8 +148,8 @@ static int dhcp_recv(struct netdev *dev)...
2010 Apr 25
2
[git pull] small fixes, sh4, getruage() README's
...r stylistic fix
    
    Signed-off-by: maximilian attems <max at stro.at>
diff --git a/usr/kinit/ipconfig/bootp_packet.h b/usr/kinit/ipconfig/bootp_packet.h
index 3525ec3..6016e5f 100644
--- a/usr/kinit/ipconfig/bootp_packet.h
+++ b/usr/kinit/ipconfig/bootp_packet.h
@@ -28,4 +28,4 @@ struct bootp_hdr {
 	/* 312 bytes of extensions */
 };
 
-#endif
+#endif /* BOOTP_PACKET_H */
commit 7416d9a51082b9ecd322d71bd2f96597195e141a
Author: maximilian attems <max at stro.at>
Date:   Mon Apr 5 04:18:09 2010 +0200
    [klibc] resume: silence warning on resume try
    
    We most propably didn'...
2011 Jul 08
4
[PATCH 0/4] usr/kinit checkpatch
Various coding style fixes checkpatch warns about.
The goal is not to be 100% checkpatch compliant,
but to have more consistent coding style.
As this is a trivial patch serie, will land in 24 hours in klibc git,
unless of course ml review hits a bugger.
Checked with size(3) that the generated kinit, fstype, ipconfig and
nfsmount are the same.
maximilian attems (4):
  [klibc] ipconfig: reduce
2010 Jul 07
0
[git pull v2] x86_32, sh4, getrusage()
...r stylistic fix
    
    Signed-off-by: maximilian attems <max at stro.at>
diff --git a/usr/kinit/ipconfig/bootp_packet.h b/usr/kinit/ipconfig/bootp_packet.h
index 3525ec3..6016e5f 100644
--- a/usr/kinit/ipconfig/bootp_packet.h
+++ b/usr/kinit/ipconfig/bootp_packet.h
@@ -28,4 +28,4 @@ struct bootp_hdr {
 	/* 312 bytes of extensions */
 };
 
-#endif
+#endif /* BOOTP_PACKET_H */
commit f0edd251485dcb3111466307ca8d9c9d74467b19
Author: maximilian attems <max at stro.at>
Date:   Mon Apr 5 04:18:09 2010 +0200
    [klibc] resume: silence warning on resume try
    
    We most propably didn'...