1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 06:37:43 +00:00

Kernel: Add netmask and gateway to NetworkAdapter

This commit is contained in:
Conrad Pankoff 2019-08-28 11:00:39 +10:00 committed by Andreas Kling
parent 61bdf09d78
commit 1aa7437ad7
2 changed files with 16 additions and 0 deletions

View file

@ -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.

View file

@ -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<KBuffer> m_packet_queue;
String m_name;
u32 m_packets_in { 0 };