diff options
| -rw-r--r-- | src/include/gpxe/ip.h | 2 | ||||
| -rw-r--r-- | src/proto/ip.c | 28 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/include/gpxe/ip.h b/src/include/gpxe/ip.h index 3a9716879..29aae5176 100644 --- a/src/include/gpxe/ip.h +++ b/src/include/gpxe/ip.h @@ -12,6 +12,8 @@ #include <gpxe/in.h> extern void set_ipaddr ( struct in_addr address ); +extern void set_netmask ( struct in_addr address ); +extern void set_gateway ( struct in_addr address ); extern void init_tcpip ( void ); extern void run_tcpip ( void ); diff --git a/src/proto/ip.c b/src/proto/ip.c index 3f46377c4..a0f36d746 100644 --- a/src/proto/ip.c +++ b/src/proto/ip.c @@ -32,6 +32,34 @@ void set_ipaddr ( struct in_addr address ) { } /** + * Set netmask + * + */ +void set_netmask ( struct in_addr address ) { + union { + struct in_addr address; + uint16_t uip_address[2]; + } u; + + u.address = address; + uip_setnetmask ( u.uip_address ); +} + +/** + * Set default gateway + * + */ +void set_gateway ( struct in_addr address ) { + union { + struct in_addr address; + uint16_t uip_address[2]; + } u; + + u.address = address; + uip_setdraddr ( u.uip_address ); +} + +/** * Initialise TCP/IP stack * */ |
