syntax = "proto3"; service DhcpTracker { /* get list of clients detected in LAN network */ rpc GetClients (ClientsRequest) returns (DhcpClients) {}; /* get Layer 2 addess (MAC) for LAN ip address (v4 or v6) */ rpc GetHwAddr (HwAddrRequest) returns (HwAddrResponse) {}; } message ClientsRequest { } message DhcpClient { bytes hw_address = 1; string last_seen = 2; string client_hostname = 3; string ip_address = 4; } message DhcpClients { repeated DhcpClient clients = 1; } message HwAddrRequest { string ip_address = 1; // IPv4 or IPv6 address } message HwAddrResponse { bytes hw_address = 1; // MAC address }