Compare commits
2 Commits
a3e5deaf10
...
bcdc59be28
Author | SHA1 | Date |
---|---|---|
|
bcdc59be28 | |
|
955947b73f |
20
counter.go
20
counter.go
|
@ -15,7 +15,6 @@
|
||||||
package nftables
|
package nftables
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/google/nftables/binaryutil"
|
|
||||||
"github.com/google/nftables/expr"
|
"github.com/google/nftables/expr"
|
||||||
"github.com/mdlayher/netlink"
|
"github.com/mdlayher/netlink"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
|
@ -62,22 +61,3 @@ func (c *CounterObj) table() *Table {
|
||||||
func (c *CounterObj) family() TableFamily {
|
func (c *CounterObj) family() TableFamily {
|
||||||
return c.Table.Family
|
return c.Table.Family
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *CounterObj) marshal(data bool) ([]byte, error) {
|
|
||||||
obj, err := netlink.MarshalAttributes([]netlink.Attribute{
|
|
||||||
{Type: unix.NFTA_COUNTER_BYTES, Data: binaryutil.BigEndian.PutUint64(c.Bytes)},
|
|
||||||
{Type: unix.NFTA_COUNTER_PACKETS, Data: binaryutil.BigEndian.PutUint64(c.Packets)},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
attrs := []netlink.Attribute{
|
|
||||||
{Type: unix.NFTA_OBJ_TABLE, Data: []byte(c.Table.Name + "\x00")},
|
|
||||||
{Type: unix.NFTA_OBJ_NAME, Data: []byte(c.Name + "\x00")},
|
|
||||||
{Type: unix.NFTA_OBJ_TYPE, Data: binaryutil.BigEndian.PutUint32(unix.NFT_OBJECT_COUNTER)},
|
|
||||||
}
|
|
||||||
if data {
|
|
||||||
attrs = append(attrs, netlink.Attribute{Type: unix.NLA_F_NESTED | unix.NFTA_OBJ_DATA, Data: obj})
|
|
||||||
}
|
|
||||||
return netlink.MarshalAttributes(attrs)
|
|
||||||
}
|
|
||||||
|
|
25
quota.go
25
quota.go
|
@ -15,7 +15,6 @@
|
||||||
package nftables
|
package nftables
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/google/nftables/binaryutil"
|
|
||||||
"github.com/google/nftables/expr"
|
"github.com/google/nftables/expr"
|
||||||
"github.com/mdlayher/netlink"
|
"github.com/mdlayher/netlink"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
|
@ -43,30 +42,6 @@ func (q *QuotaObj) unmarshal(ad *netlink.AttributeDecoder) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *QuotaObj) marshal(data bool) ([]byte, error) {
|
|
||||||
flags := uint32(0)
|
|
||||||
if q.Over {
|
|
||||||
flags = unix.NFT_QUOTA_F_INV
|
|
||||||
}
|
|
||||||
obj, err := netlink.MarshalAttributes([]netlink.Attribute{
|
|
||||||
{Type: unix.NFTA_QUOTA_BYTES, Data: binaryutil.BigEndian.PutUint64(q.Bytes)},
|
|
||||||
{Type: unix.NFTA_QUOTA_CONSUMED, Data: binaryutil.BigEndian.PutUint64(q.Consumed)},
|
|
||||||
{Type: unix.NFTA_QUOTA_FLAGS, Data: binaryutil.BigEndian.PutUint32(flags)},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
attrs := []netlink.Attribute{
|
|
||||||
{Type: unix.NFTA_OBJ_TABLE, Data: []byte(q.Table.Name + "\x00")},
|
|
||||||
{Type: unix.NFTA_OBJ_NAME, Data: []byte(q.Name + "\x00")},
|
|
||||||
{Type: unix.NFTA_OBJ_TYPE, Data: binaryutil.BigEndian.PutUint32(unix.NFT_OBJECT_QUOTA)},
|
|
||||||
}
|
|
||||||
if data {
|
|
||||||
attrs = append(attrs, netlink.Attribute{Type: unix.NLA_F_NESTED | unix.NFTA_OBJ_DATA, Data: obj})
|
|
||||||
}
|
|
||||||
return netlink.MarshalAttributes(attrs)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (q *QuotaObj) table() *Table {
|
func (q *QuotaObj) table() *Table {
|
||||||
return q.Table
|
return q.Table
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue