expr

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CtStateExpr

func CtStateExpr() *ctStateP

func VerdictExpr

func VerdictExpr() *verdictP

Types

type CmpExpression

type CmpExpression struct {
	// contains filtered or unexported fields
}

func (*CmpExpression) ToNftExprs

func (c *CmpExpression) ToNftExprs() []nftExpr.Any

type CtState

type CtState uint32
const (
	CtStateINVALID     CtState = 1
	CtStateESTABLISHED CtState = 2
	CtStateRELATED     CtState = 4
	CtStateNEW         CtState = 8
	CtStateUNTRACKED   CtState = 64
)

type Expression

type Expression interface {
	ToNftExprs() []nftExpr.Any
}

type IPv4P

type IPv4P struct {
	// contains filtered or unexported fields
}

func IPv4Payload

func IPv4Payload() *IPv4P

func (*IPv4P) Eq

func (i *IPv4P) Eq(addr net.IP) *CmpExpression

func (*IPv4P) InAnonSet

func (i *IPv4P) InAnonSet(id uint32) *LookupExpression

func (*IPv4P) InSet

func (i *IPv4P) InSet(id uint32, name string) *LookupExpression

func (*IPv4P) Neq

func (i *IPv4P) Neq(addr net.IP) *CmpExpression

func (*IPv4P) NotInAnonSet

func (i *IPv4P) NotInAnonSet(id uint32) *LookupExpression

func (*IPv4P) NotInSet

func (i *IPv4P) NotInSet(id uint32, name string) *LookupExpression

func (*IPv4P) OfKindDest

func (i *IPv4P) OfKindDest() *IPv4P

func (*IPv4P) OfKindSource

func (i *IPv4P) OfKindSource() *IPv4P

func (*IPv4P) ToNftExprs

func (i *IPv4P) ToNftExprs() []nftExpr.Any

type IPv6P

type IPv6P struct {
	// contains filtered or unexported fields
}

func IPv6Payload

func IPv6Payload() *IPv6P

func (*IPv6P) Eq

func (i *IPv6P) Eq(addr net.IP) *CmpExpression

func (*IPv6P) InAnonSet

func (i *IPv6P) InAnonSet(id uint32) *LookupExpression

func (*IPv6P) InSet

func (i *IPv6P) InSet(id uint32, name string) *LookupExpression

func (*IPv6P) Neq

func (i *IPv6P) Neq(addr net.IP) *CmpExpression

func (*IPv6P) NotInAnonSet

func (i *IPv6P) NotInAnonSet(id uint32) *LookupExpression

func (*IPv6P) NotInSet

func (i *IPv6P) NotInSet(id uint32, name string) *LookupExpression

func (*IPv6P) OfKindDest

func (i *IPv6P) OfKindDest() *IPv6P

func (*IPv6P) OfKindSource

func (i *IPv6P) OfKindSource() *IPv6P

func (*IPv6P) ToNftExprs

func (i *IPv6P) ToNftExprs() []nftExpr.Any

type IfaceP

type IfaceP struct {
	// contains filtered or unexported fields
}

func IfaceMeta

func IfaceMeta() *IfaceP

func (*IfaceP) Eq

func (i *IfaceP) Eq(iface string) *CmpExpression

func (*IfaceP) Neq

func (i *IfaceP) Neq(iface string) *CmpExpression

func (*IfaceP) OfKindInput

func (i *IfaceP) OfKindInput() *IfaceP

func (*IfaceP) OfKindOutput

func (i *IfaceP) OfKindOutput() *IfaceP

func (*IfaceP) ToNftExprs

func (i *IfaceP) ToNftExprs() []nftExpr.Any

type L4Proto

type L4Proto struct {
	// contains filtered or unexported fields
}

func L4ProtoMeta

func L4ProtoMeta() *L4Proto

func (*L4Proto) Eq

func (l *L4Proto) Eq(proto uint8) *CmpExpression

func (*L4Proto) Neq

func (l *L4Proto) Neq(proto uint8) *CmpExpression

func (*L4Proto) ToNftExprs

func (l *L4Proto) ToNftExprs() []nftExpr.Any

type LookupExpression

type LookupExpression struct {
	// contains filtered or unexported fields
}

func (*LookupExpression) ToNftExprs

func (l *LookupExpression) ToNftExprs() []nftExpr.Any

type Offset

type Offset uint32
const (
	// Source port offset in TCP/UDP header
	OffsetSourcePort Offset = 0
	// Dest port offset in TCP/UDP header
	OffsetDestPort Offset = 2
	// Source IP offset in IPv4 header
	OffsetSourceIPv4 Offset = 12
	// Dest IP offset in IPv4 header
	OffsetDestIPv4 Offset = 16
	// Source IP offset in IPv6 header
	OffsetSourceIPv6 Offset = 8 // TODO ?
	// Dest IP offset in IPv6 header
	OffsetDestIPv6 Offset = 24
)

type Payload

type Payload interface {
	ToNftExprs() []nftExpr.Any
}

type PortP

type PortP struct {
	// contains filtered or unexported fields
}

func PortPayload

func PortPayload() *PortP

func (*PortP) Eq

func (p *PortP) Eq(port uint16) *CmpExpression

func (*PortP) InAnonSet

func (i *PortP) InAnonSet(id uint32) *LookupExpression

func (*PortP) InSet

func (p *PortP) InSet(id uint32, name string) *LookupExpression

func (*PortP) Neq

func (p *PortP) Neq(port uint16) *CmpExpression

func (*PortP) NotInAnonSet

func (i *PortP) NotInAnonSet(id uint32) *LookupExpression

func (*PortP) NotInSet

func (p *PortP) NotInSet(id uint32, name string) *LookupExpression

func (*PortP) OfKindDest

func (p *PortP) OfKindDest() *PortP

func (*PortP) OfKindSource

func (p *PortP) OfKindSource() *PortP

func (*PortP) ToNftExprs

func (p *PortP) ToNftExprs() []nftExpr.Any

type VerdictKind

type VerdictKind int64
const (
	VerdictReturn VerdictKind = iota - 5
	VerdictGoto
	VerdictJump
	VerdictBreak
	VerdictContinue
	VerdictDrop
	VerdictAccept
	VerdictStolen
	VerdictQueue
	VerdictRepeat
	VerdictStop
)

Verdicts, as per netfilter.h and netfilter/nf_tables.h.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL