MCPcopy Create free account
hub / github.com/google/nftables / tableFromMsg

Function tableFromMsg

table.go:187–212  ·  view source on GitHub ↗
(msg netlink.Message)

Source from the content-addressed store, hash-verified

185}
186
187func tableFromMsg(msg netlink.Message) (*Table, error) {
188 if got, want1, want2 := msg.Header.Type, newTableHeaderType, delTableHeaderType; got != want1 && got != want2 {
189 return nil, fmt.Errorf("unexpected header type: got %v, want %v or %v", got, want1, want2)
190 }
191
192 var t Table
193 t.Family = TableFamily(msg.Data[0])
194
195 ad, err := netlink.NewAttributeDecoder(msg.Data[4:])
196 if err != nil {
197 return nil, err
198 }
199
200 for ad.Next() {
201 switch ad.Type() {
202 case unix.NFTA_TABLE_NAME:
203 t.Name = ad.String()
204 case unix.NFTA_TABLE_USE:
205 t.Use = ad.Uint32()
206 case unix.NFTA_TABLE_FLAGS:
207 t.Flags = ad.Uint32()
208 }
209 }
210
211 return &t, nil
212}

Callers 2

monitorMethod · 0.85

Calls 3

StringMethod · 0.80
TableFamilyTypeAlias · 0.70
Uint32Method · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…