Pull request 2271: AGDNS-2374-slog-arpdb
Squashed commit of the following: commit 355136e6e2f3e77b483d97fbc01fbef562c319eb Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Aug 27 18:09:51 2024 +0300 arpdb: imp docs commit 27383833033216ab938b0896dbc39e5af8d4dde9 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Aug 26 19:11:10 2024 +0300 all: slog arpdb
This commit is contained in:
@@ -4,17 +4,17 @@ package arpdb
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"net"
|
||||
"net/netip"
|
||||
"log/slog"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/AdguardTeam/golibs/log"
|
||||
"github.com/AdguardTeam/golibs/logutil/slogutil"
|
||||
)
|
||||
|
||||
func newARPDB() (arp *cmdARPDB) {
|
||||
func newARPDB(logger *slog.Logger) (arp *cmdARPDB) {
|
||||
return &cmdARPDB{
|
||||
parse: parseArpA,
|
||||
logger: logger,
|
||||
parse: parseArpA,
|
||||
ns: &neighs{
|
||||
mu: &sync.RWMutex{},
|
||||
ns: make([]Neighbor, 0),
|
||||
@@ -31,7 +31,7 @@ func newARPDB() (arp *cmdARPDB) {
|
||||
// Internet Address Physical Address Type
|
||||
// 192.168.56.1 0a-00-27-00-00-00 dynamic
|
||||
// 192.168.56.255 ff-ff-ff-ff-ff-ff static
|
||||
func parseArpA(sc *bufio.Scanner, lenHint int) (ns []Neighbor) {
|
||||
func parseArpA(logger *slog.Logger, sc *bufio.Scanner, lenHint int) (ns []Neighbor) {
|
||||
ns = make([]Neighbor, 0, lenHint)
|
||||
for sc.Scan() {
|
||||
ln := sc.Text()
|
||||
@@ -44,24 +44,14 @@ func parseArpA(sc *bufio.Scanner, lenHint int) (ns []Neighbor) {
|
||||
continue
|
||||
}
|
||||
|
||||
ip, err := netip.ParseAddr(fields[0])
|
||||
n, err := newNeighbor("", fields[0], fields[1])
|
||||
if err != nil {
|
||||
log.Debug("arpdb: parsing arp output: ip: %s", err)
|
||||
logger.Debug("parsing arp output", "line", ln, slogutil.KeyError, err)
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
mac, err := net.ParseMAC(fields[1])
|
||||
if err != nil {
|
||||
log.Debug("arpdb: parsing arp output: mac: %s", err)
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
ns = append(ns, Neighbor{
|
||||
IP: ip,
|
||||
MAC: mac,
|
||||
})
|
||||
ns = append(ns, *n)
|
||||
}
|
||||
|
||||
return ns
|
||||
|
||||
Reference in New Issue
Block a user