Documentation ¶
Index ¶
- type Client
- func (c *Client) Close() error
- func (c *Client) GetOriginalDest(ipSrc, ipDst net.IP, srcport, dstport uint16, protonum uint8) (net.IP, uint16, uint32, error)
- func (c *Client) UpdateApplicationFlowMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32) error
- func (c *Client) UpdateMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32, ...) error
- func (c *Client) UpdateNetworkFlowMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32) error
- type FlowClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a flow update client
func (*Client) GetOriginalDest ¶
func (c *Client) GetOriginalDest(ipSrc, ipDst net.IP, srcport, dstport uint16, protonum uint8) (net.IP, uint16, uint32, error)
GetOriginalDest gets the original destination ip, port and the mark on the packet
func (*Client) UpdateApplicationFlowMark ¶
func (c *Client) UpdateApplicationFlowMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32) error
UpdateApplicationFlowMark will update the mark for a flow based on the packet information received from an application. It will use the forward entries of conntrack for that.
func (*Client) UpdateMark ¶
func (c *Client) UpdateMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32, network bool) error
UpdateMark updates the mark of the flow. Caller must indicate if this is an application flow or a network flow.
func (*Client) UpdateNetworkFlowMark ¶
func (c *Client) UpdateNetworkFlowMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32) error
UpdateNetworkFlowMark will update the mark for a flow based on packet information received from the network. It will use the reverse tables in conntrack for that.
type FlowClient ¶
type FlowClient interface { // Close will close the connection of the client. Close() error // UpdateMark updates the mark of the flow. Caller must indicate if this is an application // flow or a network flow. UpdateMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32, network bool) error // GetOriginalDest gets the original destination ip, port and the mark on the packet GetOriginalDest(ipSrc, ipDst net.IP, srcport, dstport uint16, protonum uint8) (net.IP, uint16, uint32, error) // UpdateNetworkFlowMark will update the mark for a flow based on packet information received // from the network. It will use the reverse tables in conntrack for that. UpdateNetworkFlowMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32) error // UpdateApplicationFlowMark will update the mark for a flow based on the packet information // received from an application. It will use the forward entries of conntrack for that. UpdateApplicationFlowMark(ipSrc, ipDst net.IP, protonum uint8, srcport, dstport uint16, newmark uint32) error }
FlowClient defines an interface that trireme uses to communicate with the conntrack