DHCP transmits via specified net device, so no need to create a dummy
authorMichael Brown <mcb30@etherboot.org>
Wed, 10 Jan 2007 02:37:23 +0000 (02:37 +0000)
committerMichael Brown <mcb30@etherboot.org>
Wed, 10 Jan 2007 02:37:23 +0000 (02:37 +0000)
routing table entry just to fool ipv4.c any more.

src/net/udp/dhcp.c
src/tests/dhcptest.c

index 59dc807..8f82970 100644 (file)
@@ -582,8 +582,8 @@ static int dhcp_senddata ( struct udp_connection *conn,
        }
 
        /* Transmit the packet */
-       if ( ( rc = udp_sendto ( conn, &sa_dhcp_server.st,
-                                dhcppkt.dhcphdr, dhcppkt.len ) ) != 0 ) {
+       if ( ( rc = udp_sendto_via ( conn, &sa_dhcp_server.st, dhcp->netdev,
+                                    dhcppkt.dhcphdr, dhcppkt.len ) ) != 0 ) {
                DBG ( "Could not transmit UDP packet\n" );
                return rc;
        }
index d6b1992..525c107 100644 (file)
@@ -218,11 +218,6 @@ int test_dhcp ( struct net_device *netdev ) {
        char filename[256];
        int rc;
 
-       /* Bring IP interface up with address 0.0.0.0 */
-       if ( ( rc = add_ipv4_address ( netdev, address, netmask,
-                                      gateway ) ) != 0 )
-               goto out_no_del_ipv4;
-
        /* Issue DHCP request */
        printf ( "DHCP (%s)...", netdev->name );
        memset ( &dhcp, 0, sizeof ( dhcp ) );
@@ -251,9 +246,6 @@ int test_dhcp ( struct net_device *netdev ) {
        if ( filename[0] )
                printf ( "Bootfile name \"%s\"\n", filename );
 
-       /* Remove old IP address configuration */
-       del_ipv4_address ( netdev );
-
        /* Set up new IP address configuration */
        if ( ( rc = add_ipv4_address ( netdev, address, netmask,
                                       gateway ) ) != 0 )