Documentation ¶
Index ¶
- func CloseAllObjects(closers ...io.Closer) error
- func Copy16Ip[T ~[]byte](arr T) [16]byte
- func IncreaseResourceLimits() error
- func LoadAllObjects(opts *ebpf.CollectionOptions, loaders ...Loader) error
- func LoadIpEntrypoint() (*ebpf.CollectionSpec, error)
- func LoadIpEntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
- func LoadN3Entrypoint() (*ebpf.CollectionSpec, error)
- func LoadN3EntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
- func LoadN6Entrypoint() (*ebpf.CollectionSpec, error)
- func LoadN6EntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
- func LoadZeroEntrypoint() (*ebpf.CollectionSpec, error)
- func LoadZeroEntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
- func ResizeEbpfMap(eMap **ebpf.Map, eProg *ebpf.Program, newSize uint32) error
- type BpfObjects
- func (bpfObjects *BpfObjects) Close() error
- func (bpfObjects *BpfObjects) DeleteDownlinkPdrIp6(ipv6 net.IP) error
- func (bpfObjects *BpfObjects) DeleteFar(intenalId uint32) error
- func (bpfObjects *BpfObjects) DeletePdrDownlink(ipv4 net.IP) error
- func (bpfObjects *BpfObjects) DeletePdrUplink(teid uint32) error
- func (bpfObjects *BpfObjects) DeleteQer(internalId uint32) error
- func (bpfObjects *BpfObjects) Load() error
- func (bpfObjects *BpfObjects) NewFar(farInfo FarInfo) (uint32, error)
- func (bpfObjects *BpfObjects) NewQer(qerInfo QerInfo) (uint32, error)
- func (bpfObjects *BpfObjects) PutDownlinkPdrIp6(ipv6 net.IP, pdrInfo PdrInfo) error
- func (bpfObjects *BpfObjects) PutPdrDownlink(ipv4 net.IP, pdrInfo PdrInfo) error
- func (bpfObjects *BpfObjects) PutPdrUplink(teid uint32, pdrInfo PdrInfo) error
- func (bpfObjects *BpfObjects) ResizeAllMaps(qerMapSize uint32, farMapSize uint32, pdrMapSize uint32) error
- func (bpfObjects *BpfObjects) UpdateDownlinkPdrIp6(ipv6 net.IP, pdrInfo PdrInfo) error
- func (bpfObjects *BpfObjects) UpdateFar(internalId uint32, farInfo FarInfo) error
- func (bpfObjects *BpfObjects) UpdatePdrDownlink(ipv4 net.IP, pdrInfo PdrInfo) error
- func (bpfObjects *BpfObjects) UpdatePdrUplink(teid uint32, pdrInfo PdrInfo) error
- func (bpfObjects *BpfObjects) UpdateQer(internalId uint32, qerInfo QerInfo) error
- type FarInfo
- type ForwardingPlaneController
- type IdTracker
- type IpEntrypointFarInfo
- type IpEntrypointIn6Addr
- type IpEntrypointMapSpecs
- type IpEntrypointMaps
- type IpEntrypointObjects
- type IpEntrypointPdrInfo
- type IpEntrypointProgramSpecs
- type IpEntrypointPrograms
- type IpEntrypointQerInfo
- type IpEntrypointRouteStat
- type IpEntrypointSpecs
- type IpEntrypointUpfStatistic
- type IpWMask
- type Loader
- type LoaderFunc
- type N3EntrypointMapSpecs
- type N3EntrypointMaps
- type N3EntrypointObjects
- type N3EntrypointProgramSpecs
- type N3EntrypointPrograms
- type N3EntrypointSpecs
- type N6EntrypointMapSpecs
- type N6EntrypointMaps
- type N6EntrypointObjects
- type N6EntrypointProgramSpecs
- type N6EntrypointPrograms
- type N6EntrypointSpecs
- type PdrInfo
- type PortRange
- type QerInfo
- type SdfFilter
- type UpfCounters
- type UpfStatistic
- type UpfXdpActionStatistic
- func (stat *UpfXdpActionStatistic) GetAborted() uint64
- func (stat *UpfXdpActionStatistic) GetDrop() uint64
- func (stat *UpfXdpActionStatistic) GetPass() uint64
- func (stat *UpfXdpActionStatistic) GetRedirect() uint64
- func (stat *UpfXdpActionStatistic) GetTx() uint64
- func (stat *UpfXdpActionStatistic) GetUpfExtStatField() UpfCounters
- type ZeroEntrypointMapSpecs
- type ZeroEntrypointMaps
- type ZeroEntrypointObjects
- type ZeroEntrypointProgramSpecs
- type ZeroEntrypointPrograms
- type ZeroEntrypointSpecs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloseAllObjects ¶
func IncreaseResourceLimits ¶
func IncreaseResourceLimits() error
IncreaseResourceLimits https://prototype-kernel.readthedocs.io/en/latest/bpf/troubleshooting.html#memory-ulimits
func LoadAllObjects ¶
func LoadAllObjects(opts *ebpf.CollectionOptions, loaders ...Loader) error
func LoadIpEntrypoint ¶
func LoadIpEntrypoint() (*ebpf.CollectionSpec, error)
LoadIpEntrypoint returns the embedded CollectionSpec for IpEntrypoint.
func LoadIpEntrypointObjects ¶
func LoadIpEntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
LoadIpEntrypointObjects loads IpEntrypoint and converts it into a struct.
The following types are suitable as obj argument:
*IpEntrypointObjects *IpEntrypointPrograms *IpEntrypointMaps
See ebpf.CollectionSpec.LoadAndAssign documentation for details.
func LoadN3Entrypoint ¶
func LoadN3Entrypoint() (*ebpf.CollectionSpec, error)
LoadN3Entrypoint returns the embedded CollectionSpec for N3Entrypoint.
func LoadN3EntrypointObjects ¶
func LoadN3EntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
LoadN3EntrypointObjects loads N3Entrypoint and converts it into a struct.
The following types are suitable as obj argument:
*N3EntrypointObjects *N3EntrypointPrograms *N3EntrypointMaps
See ebpf.CollectionSpec.LoadAndAssign documentation for details.
func LoadN6Entrypoint ¶
func LoadN6Entrypoint() (*ebpf.CollectionSpec, error)
LoadN6Entrypoint returns the embedded CollectionSpec for N6Entrypoint.
func LoadN6EntrypointObjects ¶
func LoadN6EntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
LoadN6EntrypointObjects loads N6Entrypoint and converts it into a struct.
The following types are suitable as obj argument:
*N6EntrypointObjects *N6EntrypointPrograms *N6EntrypointMaps
See ebpf.CollectionSpec.LoadAndAssign documentation for details.
func LoadZeroEntrypoint ¶
func LoadZeroEntrypoint() (*ebpf.CollectionSpec, error)
LoadZeroEntrypoint returns the embedded CollectionSpec for ZeroEntrypoint.
func LoadZeroEntrypointObjects ¶
func LoadZeroEntrypointObjects(obj interface{}, opts *ebpf.CollectionOptions) error
LoadZeroEntrypointObjects loads ZeroEntrypoint and converts it into a struct.
The following types are suitable as obj argument:
*ZeroEntrypointObjects *ZeroEntrypointPrograms *ZeroEntrypointMaps
See ebpf.CollectionSpec.LoadAndAssign documentation for details.
Types ¶
type BpfObjects ¶
type BpfObjects struct { IpEntrypointObjects FarIdTracker *IdTracker QerIdTracker *IdTracker }
func NewBpfObjects ¶
func NewBpfObjects() *BpfObjects
func (*BpfObjects) Close ¶
func (bpfObjects *BpfObjects) Close() error
func (*BpfObjects) DeleteDownlinkPdrIp6 ¶
func (bpfObjects *BpfObjects) DeleteDownlinkPdrIp6(ipv6 net.IP) error
func (*BpfObjects) DeleteFar ¶
func (bpfObjects *BpfObjects) DeleteFar(intenalId uint32) error
func (*BpfObjects) DeletePdrDownlink ¶
func (bpfObjects *BpfObjects) DeletePdrDownlink(ipv4 net.IP) error
func (*BpfObjects) DeletePdrUplink ¶
func (bpfObjects *BpfObjects) DeletePdrUplink(teid uint32) error
func (*BpfObjects) DeleteQer ¶
func (bpfObjects *BpfObjects) DeleteQer(internalId uint32) error
func (*BpfObjects) Load ¶
func (bpfObjects *BpfObjects) Load() error
func (*BpfObjects) PutDownlinkPdrIp6 ¶
func (bpfObjects *BpfObjects) PutDownlinkPdrIp6(ipv6 net.IP, pdrInfo PdrInfo) error
func (*BpfObjects) PutPdrDownlink ¶
func (bpfObjects *BpfObjects) PutPdrDownlink(ipv4 net.IP, pdrInfo PdrInfo) error
func (*BpfObjects) PutPdrUplink ¶
func (bpfObjects *BpfObjects) PutPdrUplink(teid uint32, pdrInfo PdrInfo) error
func (*BpfObjects) ResizeAllMaps ¶
func (bpfObjects *BpfObjects) ResizeAllMaps(qerMapSize uint32, farMapSize uint32, pdrMapSize uint32) error
func (*BpfObjects) UpdateDownlinkPdrIp6 ¶
func (bpfObjects *BpfObjects) UpdateDownlinkPdrIp6(ipv6 net.IP, pdrInfo PdrInfo) error
func (*BpfObjects) UpdateFar ¶
func (bpfObjects *BpfObjects) UpdateFar(internalId uint32, farInfo FarInfo) error
func (*BpfObjects) UpdatePdrDownlink ¶
func (bpfObjects *BpfObjects) UpdatePdrDownlink(ipv4 net.IP, pdrInfo PdrInfo) error
func (*BpfObjects) UpdatePdrUplink ¶
func (bpfObjects *BpfObjects) UpdatePdrUplink(teid uint32, pdrInfo PdrInfo) error
type FarInfo ¶
type FarInfo struct { Action uint8 OuterHeaderCreation uint8 Teid uint32 RemoteIP uint32 LocalIP uint32 TransportLevelMarking uint16 }
func (FarInfo) MarshalJSON ¶
type ForwardingPlaneController ¶
type ForwardingPlaneController interface { PutPdrUplink(teid uint32, pdrInfo PdrInfo) error PutPdrDownlink(ipv4 net.IP, pdrInfo PdrInfo) error UpdatePdrUplink(teid uint32, pdrInfo PdrInfo) error UpdatePdrDownlink(ipv4 net.IP, pdrInfo PdrInfo) error DeletePdrUplink(teid uint32) error DeletePdrDownlink(ipv4 net.IP) error PutDownlinkPdrIp6(ipv6 net.IP, pdrInfo PdrInfo) error UpdateDownlinkPdrIp6(ipv6 net.IP, pdrInfo PdrInfo) error DeleteDownlinkPdrIp6(ipv6 net.IP) error NewFar(farInfo FarInfo) (uint32, error) UpdateFar(internalId uint32, farInfo FarInfo) error DeleteFar(internalId uint32) error NewQer(qerInfo QerInfo) (uint32, error) UpdateQer(internalId uint32, qerInfo QerInfo) error DeleteQer(internalId uint32) error }
type IdTracker ¶
type IdTracker struct {
// contains filtered or unexported fields
}
func NewIdTracker ¶
type IpEntrypointFarInfo ¶
type IpEntrypointIn6Addr ¶
type IpEntrypointIn6Addr struct{ In6U struct{ U6Addr8 [16]uint8 } }
type IpEntrypointMapSpecs ¶
type IpEntrypointMapSpecs struct { FarMap *ebpf.MapSpec `ebpf:"far_map"` PdrMapDownlinkIp4 *ebpf.MapSpec `ebpf:"pdr_map_downlink_ip4"` PdrMapDownlinkIp6 *ebpf.MapSpec `ebpf:"pdr_map_downlink_ip6"` PdrMapUplinkIp4 *ebpf.MapSpec `ebpf:"pdr_map_uplink_ip4"` QerMap *ebpf.MapSpec `ebpf:"qer_map"` UpfExtStat *ebpf.MapSpec `ebpf:"upf_ext_stat"` UpfPipeline *ebpf.MapSpec `ebpf:"upf_pipeline"` UpfRouteStat *ebpf.MapSpec `ebpf:"upf_route_stat"` }
IpEntrypointMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type IpEntrypointMaps ¶
type IpEntrypointMaps struct { FarMap *ebpf.Map `ebpf:"far_map"` PdrMapDownlinkIp4 *ebpf.Map `ebpf:"pdr_map_downlink_ip4"` PdrMapDownlinkIp6 *ebpf.Map `ebpf:"pdr_map_downlink_ip6"` PdrMapUplinkIp4 *ebpf.Map `ebpf:"pdr_map_uplink_ip4"` QerMap *ebpf.Map `ebpf:"qer_map"` UpfExtStat *ebpf.Map `ebpf:"upf_ext_stat"` UpfPipeline *ebpf.Map `ebpf:"upf_pipeline"` UpfRouteStat *ebpf.Map `ebpf:"upf_route_stat"` }
IpEntrypointMaps contains all maps after they have been loaded into the kernel.
It can be passed to LoadIpEntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*IpEntrypointMaps) Close ¶
func (m *IpEntrypointMaps) Close() error
type IpEntrypointObjects ¶
type IpEntrypointObjects struct { IpEntrypointPrograms IpEntrypointMaps }
IpEntrypointObjects contains all objects after they have been loaded into the kernel.
It can be passed to LoadIpEntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*IpEntrypointObjects) Close ¶
func (o *IpEntrypointObjects) Close() error
type IpEntrypointPdrInfo ¶
type IpEntrypointPdrInfo struct { FarId uint32 QerId uint32 OuterHeaderRemoval uint8 SdfMode uint8 SdfRules struct { SdfFilter struct { Protocol uint8 SrcAddr struct { Type uint8 Ip [16]byte /* uint128 */ Mask [16]byte /* uint128 */ // contains filtered or unexported fields } SrcPort struct { LowerBound uint16 UpperBound uint16 } DstAddr struct { Type uint8 Ip [16]byte /* uint128 */ Mask [16]byte /* uint128 */ // contains filtered or unexported fields } DstPort struct { LowerBound uint16 UpperBound uint16 } // contains filtered or unexported fields } OuterHeaderRemoval uint8 FarId uint32 QerId uint32 // contains filtered or unexported fields } // contains filtered or unexported fields }
func CombinePdrWithSdf ¶
func CombinePdrWithSdf(defaultPdr *IpEntrypointPdrInfo, sdfPdr PdrInfo) IpEntrypointPdrInfo
func PreprocessPdrWithSdf ¶
func PreprocessPdrWithSdf(lookup func(interface{}, interface{}) error, key interface{}, pdrInfo PdrInfo) (IpEntrypointPdrInfo, error)
func ToIpEntrypointPdrInfo ¶
func ToIpEntrypointPdrInfo(defaultPdr PdrInfo) IpEntrypointPdrInfo
type IpEntrypointProgramSpecs ¶
type IpEntrypointProgramSpecs struct {
UpfIpEntrypointFunc *ebpf.ProgramSpec `ebpf:"upf_ip_entrypoint_func"`
}
IpEntrypointSpecs contains programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type IpEntrypointPrograms ¶
type IpEntrypointPrograms struct {
UpfIpEntrypointFunc *ebpf.Program `ebpf:"upf_ip_entrypoint_func"`
}
IpEntrypointPrograms contains all programs after they have been loaded into the kernel.
It can be passed to LoadIpEntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*IpEntrypointPrograms) Close ¶
func (p *IpEntrypointPrograms) Close() error
type IpEntrypointQerInfo ¶
type IpEntrypointRouteStat ¶
type IpEntrypointSpecs ¶
type IpEntrypointSpecs struct { IpEntrypointProgramSpecs IpEntrypointMapSpecs }
IpEntrypointSpecs contains maps and programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type IpEntrypointUpfStatistic ¶
type IpEntrypointUpfStatistic struct { UpfCounters struct { RxArp uint64 RxIcmp uint64 RxIcmp6 uint64 RxIp4 uint64 RxIp6 uint64 RxTcp uint64 RxUdp uint64 RxOther uint64 RxGtpEcho uint64 RxGtpPdu uint64 RxGtpOther uint64 RxGtpUnexp uint64 } UpfN3N6Counter struct { RxN3 uint64 TxN3 uint64 RxN6 uint64 TxN6 uint64 } XdpActions [8]uint64 }
type Loader ¶
type Loader struct { LoaderFunc // contains filtered or unexported fields }
type LoaderFunc ¶
type LoaderFunc func(obj interface{}, opts *ebpf.CollectionOptions) error
type N3EntrypointMapSpecs ¶
N3EntrypointMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type N3EntrypointMaps ¶
N3EntrypointMaps contains all maps after they have been loaded into the kernel.
It can be passed to LoadN3EntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*N3EntrypointMaps) Close ¶
func (m *N3EntrypointMaps) Close() error
type N3EntrypointObjects ¶
type N3EntrypointObjects struct { N3EntrypointPrograms N3EntrypointMaps }
N3EntrypointObjects contains all objects after they have been loaded into the kernel.
It can be passed to LoadN3EntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*N3EntrypointObjects) Close ¶
func (o *N3EntrypointObjects) Close() error
type N3EntrypointProgramSpecs ¶
type N3EntrypointProgramSpecs struct {
UpfN3EntrypointFunc *ebpf.ProgramSpec `ebpf:"upf_n3_entrypoint_func"`
}
N3EntrypointSpecs contains programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type N3EntrypointPrograms ¶
type N3EntrypointPrograms struct {
UpfN3EntrypointFunc *ebpf.Program `ebpf:"upf_n3_entrypoint_func"`
}
N3EntrypointPrograms contains all programs after they have been loaded into the kernel.
It can be passed to LoadN3EntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*N3EntrypointPrograms) Close ¶
func (p *N3EntrypointPrograms) Close() error
type N3EntrypointSpecs ¶
type N3EntrypointSpecs struct { N3EntrypointProgramSpecs N3EntrypointMapSpecs }
N3EntrypointSpecs contains maps and programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type N6EntrypointMapSpecs ¶
N6EntrypointMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type N6EntrypointMaps ¶
N6EntrypointMaps contains all maps after they have been loaded into the kernel.
It can be passed to LoadN6EntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*N6EntrypointMaps) Close ¶
func (m *N6EntrypointMaps) Close() error
type N6EntrypointObjects ¶
type N6EntrypointObjects struct { N6EntrypointPrograms N6EntrypointMaps }
N6EntrypointObjects contains all objects after they have been loaded into the kernel.
It can be passed to LoadN6EntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*N6EntrypointObjects) Close ¶
func (o *N6EntrypointObjects) Close() error
type N6EntrypointProgramSpecs ¶
type N6EntrypointProgramSpecs struct {
UpfN6EntrypointFunc *ebpf.ProgramSpec `ebpf:"upf_n6_entrypoint_func"`
}
N6EntrypointSpecs contains programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type N6EntrypointPrograms ¶
type N6EntrypointPrograms struct {
UpfN6EntrypointFunc *ebpf.Program `ebpf:"upf_n6_entrypoint_func"`
}
N6EntrypointPrograms contains all programs after they have been loaded into the kernel.
It can be passed to LoadN6EntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*N6EntrypointPrograms) Close ¶
func (p *N6EntrypointPrograms) Close() error
type N6EntrypointSpecs ¶
type N6EntrypointSpecs struct { N6EntrypointProgramSpecs N6EntrypointMapSpecs }
N6EntrypointSpecs contains maps and programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type SdfFilter ¶
type UpfCounters ¶
type UpfCounters struct { RxArp uint64 RxIcmp uint64 RxIcmp6 uint64 RxIp4 uint64 RxIp6 uint64 RxTcp uint64 RxUdp uint64 RxOther uint64 RxGtpEcho uint64 RxGtpPdu uint64 RxGtpOther uint64 RxGtpUnexp uint64 }
func (*UpfCounters) Add ¶
func (current *UpfCounters) Add(nnew UpfCounters)
type UpfStatistic ¶
type UpfStatistic struct { Counters UpfCounters XdpStats [5]uint64 }
type UpfXdpActionStatistic ¶
type UpfXdpActionStatistic struct {
BpfObjects *BpfObjects
}
func (*UpfXdpActionStatistic) GetAborted ¶
func (stat *UpfXdpActionStatistic) GetAborted() uint64
func (*UpfXdpActionStatistic) GetDrop ¶
func (stat *UpfXdpActionStatistic) GetDrop() uint64
func (*UpfXdpActionStatistic) GetPass ¶
func (stat *UpfXdpActionStatistic) GetPass() uint64
func (*UpfXdpActionStatistic) GetRedirect ¶
func (stat *UpfXdpActionStatistic) GetRedirect() uint64
func (*UpfXdpActionStatistic) GetTx ¶
func (stat *UpfXdpActionStatistic) GetTx() uint64
func (*UpfXdpActionStatistic) GetUpfExtStatField ¶
func (stat *UpfXdpActionStatistic) GetUpfExtStatField() UpfCounters
Getters for the upf_ext_stat (upf_counters)
type ZeroEntrypointMapSpecs ¶
type ZeroEntrypointMapSpecs struct { }
ZeroEntrypointMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type ZeroEntrypointMaps ¶
type ZeroEntrypointMaps struct { }
ZeroEntrypointMaps contains all maps after they have been loaded into the kernel.
It can be passed to LoadZeroEntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*ZeroEntrypointMaps) Close ¶
func (m *ZeroEntrypointMaps) Close() error
type ZeroEntrypointObjects ¶
type ZeroEntrypointObjects struct { ZeroEntrypointPrograms ZeroEntrypointMaps }
ZeroEntrypointObjects contains all objects after they have been loaded into the kernel.
It can be passed to LoadZeroEntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*ZeroEntrypointObjects) Close ¶
func (o *ZeroEntrypointObjects) Close() error
type ZeroEntrypointProgramSpecs ¶
type ZeroEntrypointProgramSpecs struct {
UpfN3EntrypointFunc *ebpf.ProgramSpec `ebpf:"upf_n3_entrypoint_func"`
}
ZeroEntrypointSpecs contains programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type ZeroEntrypointPrograms ¶
type ZeroEntrypointPrograms struct {
UpfN3EntrypointFunc *ebpf.Program `ebpf:"upf_n3_entrypoint_func"`
}
ZeroEntrypointPrograms contains all programs after they have been loaded into the kernel.
It can be passed to LoadZeroEntrypointObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*ZeroEntrypointPrograms) Close ¶
func (p *ZeroEntrypointPrograms) Close() error
type ZeroEntrypointSpecs ¶
type ZeroEntrypointSpecs struct { ZeroEntrypointProgramSpecs ZeroEntrypointMapSpecs }
ZeroEntrypointSpecs contains maps and programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.