func (a *sidAllocator) SID(requestID string) string {
	lastSID := a.lastSID[requestID] + 1
	if lastSID < 2 {
		lastSID = 2
	}
	a.lastSID[requestID] = lastSID
	return fmt.Sprintf("%s:%x", transformRequestID(requestID), lastSID)
}
SID - Allocate a new SID for SRv6 Policy
package sid
import (
	"encoding/binary"
	"fmt"
	"net"
	"sync"
	"github.com/sirupsen/logrus"
)
const SIDPrefix = "fd25::"
type Allocator interface {
	SID(requestID string) string
	Restore(hardwareAddr, sid string)
}
type sidAllocator struct {
	lastSID map[string]uint32
	sync.Mutex
}
func NewSIDAllocator() Allocator {
	return &sidAllocator{
		lastSID: make(map[string]uint32),
	}
}