resolver

package
v0.0.2-0...-4ce78c8 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2021 License: Apache-2.0, Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LocalResolver

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

LocalResolver is responsible resolving the raddr of connections when they are local containers

func (*LocalResolver) LoadAddrs

func (l *LocalResolver) LoadAddrs(containers []*containers.Container)

LoadAddrs generates a map of network addresses to container IDs

func (*LocalResolver) Resolve

func (l *LocalResolver) Resolve(c *model.Connections)

Resolve binds container IDs to the Raddr of connections

An attempt is made to resolve as many local containers as possible.

First, we go over all connections resolving the laddr container using the pid to container map that we have. At the same time, the translated laddr is put into a lookup table (addr -> container id), qualifying the key in that table with the network namespace id if the address is loopback.

Second, we go over the connections again, this time resolving the raddr container id using the lookup table we built previously. Note that the translated raddr is *not* used for the lookup. For loopback addresses, lookup is qualified by the network namespace they are in.

Jump to

Keyboard shortcuts

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