All checks were successful
Test / Create distribution (push) Successful in 1m2s
Test / Sandbox (push) Successful in 2m41s
Test / ShareFS (push) Successful in 3m42s
Test / Hakurei (push) Successful in 3m46s
Test / Sandbox (race detector) (push) Successful in 5m3s
Test / Hakurei (race detector) (push) Successful in 6m8s
Test / Flake checks (push) Successful in 1m23s
This is useful for uevent implementation. Signed-off-by: Ophestra <cat@gensokyo.uk>
63 lines
1.2 KiB
Go
63 lines
1.2 KiB
Go
package netlink
|
|
|
|
import (
|
|
"syscall"
|
|
"testing"
|
|
)
|
|
|
|
func TestPayloadRTNETLINK(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
checkPayload(t, []payloadTestCase{
|
|
{"RTM_NEWADDR lo", func(c *conn) {
|
|
(&RouteConn{c}).writeNewaddrLo(1)
|
|
}, []byte{
|
|
/* Len */ 0x28, 0, 0, 0,
|
|
/* Type */ 0x14, 0,
|
|
/* Flags */ 5, 6,
|
|
/* Seq */ 0, 0, 0, 0,
|
|
/* Pid */ 1, 0, 0, 0,
|
|
|
|
/* Family */ 2,
|
|
/* Prefixlen */ 8,
|
|
/* Flags */ 0x80,
|
|
/* Scope */ 0xfe,
|
|
/* Index */ 1, 0, 0, 0,
|
|
|
|
/* Len */ 8, 0,
|
|
/* Type */ 2, 0,
|
|
/* in_addr */ 127, 0, 0, 1,
|
|
|
|
/* Len */ 8, 0,
|
|
/* Type */ 1, 0,
|
|
/* in_addr */ 127, 0, 0, 1,
|
|
}},
|
|
|
|
{"RTM_NEWLINK", func(c *conn) {
|
|
c.seq++
|
|
(&RouteConn{c}).writeIfInfomsg(
|
|
syscall.RTM_NEWLINK, 0,
|
|
&syscall.IfInfomsg{
|
|
Family: syscall.AF_UNSPEC,
|
|
Index: 1,
|
|
Flags: syscall.IFF_UP,
|
|
Change: syscall.IFF_UP,
|
|
},
|
|
)
|
|
}, []byte{
|
|
/* Len */ 0x20, 0, 0, 0,
|
|
/* Type */ 0x10, 0,
|
|
/* Flags */ 5, 0,
|
|
/* Seq */ 1, 0, 0, 0,
|
|
/* Pid */ 1, 0, 0, 0,
|
|
|
|
/* Family */ 0,
|
|
/* pad */ 0,
|
|
/* Type */ 0, 0,
|
|
/* Index */ 1, 0, 0, 0,
|
|
/* Flags */ 1, 0, 0, 0,
|
|
/* Change */ 1, 0, 0, 0,
|
|
}},
|
|
})
|
|
}
|