Files
CHORUS/vendor/github.com/google/gopacket/routing/common.go
anthonyrawlins 9bdcbe0447 Integrate BACKBEAT SDK and resolve KACHING license validation
Major integrations and fixes:
- Added BACKBEAT SDK integration for P2P operation timing
- Implemented beat-aware status tracking for distributed operations
- Added Docker secrets support for secure license management
- Resolved KACHING license validation via HTTPS/TLS
- Updated docker-compose configuration for clean stack deployment
- Disabled rollback policies to prevent deployment failures
- Added license credential storage (CHORUS-DEV-MULTI-001)

Technical improvements:
- BACKBEAT P2P operation tracking with phase management
- Enhanced configuration system with file-based secrets
- Improved error handling for license validation
- Clean separation of KACHING and CHORUS deployment stacks

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 07:56:26 +10:00

37 lines
1.5 KiB
Go

// Copyright 2012 Google, Inc. All rights reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree.
package routing
import (
"net"
)
// Router implements simple IPv4/IPv6 routing based on the kernel's routing
// table. This routing library has very few features and may actually route
// incorrectly in some cases, but it should work the majority of the time.
type Router interface {
// Route returns where to route a packet based on the packet's source
// and destination IP address.
//
// Callers may pass in nil for src, in which case the src is treated as
// either 0.0.0.0 or ::, depending on whether dst is a v4 or v6 address.
//
// It returns the interface on which to send the packet, the gateway IP
// to send the packet to (if necessary), the preferred src IP to use (if
// available). If the preferred src address is not given in the routing
// table, the first IP address of the interface is provided.
//
// If an error is encountered, iface, geteway, and
// preferredSrc will be nil, and err will be set.
Route(dst net.IP) (iface *net.Interface, gateway, preferredSrc net.IP, err error)
// RouteWithSrc routes based on source information as well as destination
// information. Either or both of input/src can be nil. If both are, this
// should behave exactly like Route(dst)
RouteWithSrc(input net.HardwareAddr, src, dst net.IP) (iface *net.Interface, gateway, preferredSrc net.IP, err error)
}