[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH] liblwip: Fetch ip_addr, net mask and gw address
Hey Costin,
did you plan to send the updated version of your patch (since I
mentioned to integrate it independent to the series) or should Sharan
take yours and go from there?
Thanks,
Simon
On 08.10.19 11:28, Sharan Santhanam wrote:
Hello Costin,
On 10/7/19 9:50 PM, Costin Lupu wrote:
Hi Sharan,
This patch is overlapping with another pending patch [1] that will be
needed for netfront. We need to coordinate on this one somehow.
[1] https://patchwork.unikraft.org/patch/734711/
Oh I missed this patch. Since the other patch was in earlier, it would
be wise take that in.
Thanks & Regards
Sharan
Cheers,
Costin
On 10/7/19 1:00 PM, Sharan Santhanam wrote:
The patch implements the operation to fetch the ipv4 address, net
mask and ipv4 gateway address from the uk_netdev library.
Signed-off-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
---
init.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/init.c b/init.c
index 1447a2c..7d27f65 100644
--- a/init.c
+++ b/init.c
@@ -45,6 +45,7 @@
#endif /* CONFIG_LWIP_NOTHREADS */
#include "netif/uknetdev.h"
#include <uk/init.h>
+#include <arpa/inet.h>
#if LWIP_NETIF_EXT_STATUS_CALLBACK && CONFIG_LWIP_NETIF_STATUS_PRINT
#include <stdio.h>
@@ -184,6 +185,8 @@ static int liblwip_init(void)
devid);
#if LWIP_IPV4
+ const char *addr;
+ int rc;
ip4_arg = NULL;
mask4_arg = NULL;
gw4_arg = NULL;
@@ -205,6 +208,34 @@ static int liblwip_init(void)
* gw_arg = &gw;
*/
+ addr = uk_netdev_einfo_get(dev, UK_NETDEV_IPV4_ADDR_STR);
+ if (addr) {
+ rc = inet_pton(AF_INET, addr, &ip4);
+ if (rc <= 0)
+ uk_pr_warn("Failed to convert the ip address:%s\n",
+ addr);
+ else {
+ addr = uk_netdev_einfo_get(dev,
UK_NETDEV_IPV4_MASK_STR);
+ rc = inet_pton(AF_INET, addr, &mask4);
+ if (rc <= 0)
+ uk_pr_warn("Failed to convert the ip address:%s\n",
+ addr);
+ else {
+ ip4_arg = &ip4;
+ mask4_arg = &mask4;
+ }
+ }
+ }
+ addr = uk_netdev_einfo_get(dev, UK_NETDEV_IPV4_GW_STR);
+ if (addr) {
+ rc = inet_pton(AF_INET, addr, &gw4);
+ if (rc <= 0)
+ uk_pr_warn("Failed to convert the ip address:%s\n",
+ addr);
+ else
+ gw4_arg = &gw4;
+ }
+
nf = uknetdev_addif(dev, ip4_arg, mask4_arg, gw4_arg);
#else /* LWIP_IPV4 */
/*
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|