From 1aa7437ad7ef94516258a95d83ed31b7c5b99beb Mon Sep 17 00:00:00 2001 From: Conrad Pankoff Date: Wed, 28 Aug 2019 11:00:39 +1000 Subject: [PATCH] Kernel: Add netmask and gateway to NetworkAdapter --- Kernel/Net/NetworkAdapter.cpp | 10 ++++++++++ Kernel/Net/NetworkAdapter.h | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/Kernel/Net/NetworkAdapter.cpp b/Kernel/Net/NetworkAdapter.cpp index 14ed365f1a..cc69f75859 100644 --- a/Kernel/Net/NetworkAdapter.cpp +++ b/Kernel/Net/NetworkAdapter.cpp @@ -103,6 +103,16 @@ void NetworkAdapter::set_ipv4_address(const IPv4Address& address) m_ipv4_address = address; } +void NetworkAdapter::set_ipv4_netmask(const IPv4Address& netmask) +{ + m_ipv4_netmask = netmask; +} + +void NetworkAdapter::set_ipv4_gateway(const IPv4Address& gateway) +{ + m_ipv4_gateway = gateway; +} + void NetworkAdapter::set_interface_name(const StringView& basename) { // FIXME: Find a unique name for this interface, starting with $basename. diff --git a/Kernel/Net/NetworkAdapter.h b/Kernel/Net/NetworkAdapter.h index f0e0ec3e3f..06ab6c740e 100644 --- a/Kernel/Net/NetworkAdapter.h +++ b/Kernel/Net/NetworkAdapter.h @@ -25,9 +25,13 @@ public: const String& name() const { return m_name; } MACAddress mac_address() { return m_mac_address; } IPv4Address ipv4_address() const { return m_ipv4_address; } + IPv4Address ipv4_netmask() const { return m_ipv4_netmask; } + IPv4Address ipv4_gateway() const { return m_ipv4_gateway; } virtual bool link_up() { return false; } void set_ipv4_address(const IPv4Address&); + void set_ipv4_netmask(const IPv4Address&); + void set_ipv4_gateway(const IPv4Address&); void send(const MACAddress&, const ARPPacket&); void send_ipv4(const MACAddress&, const IPv4Address&, IPv4Protocol, const u8* payload, size_t payload_size); @@ -51,6 +55,8 @@ protected: private: MACAddress m_mac_address; IPv4Address m_ipv4_address; + IPv4Address m_ipv4_netmask; + IPv4Address m_ipv4_gateway; SinglyLinkedList m_packet_queue; String m_name; u32 m_packets_in { 0 };