fix: fix some problem due to minlib update
This commit is contained in:
+1
-1
@@ -153,7 +153,7 @@ func (i *IPTun) StartTunnel(adapter TunnelAdapter) {
|
|||||||
}
|
}
|
||||||
}(wg.Done)
|
}(wg.Done)
|
||||||
|
|
||||||
// 在单独的协程里面接收UPPkt,并从中提取出 IP 包写入到TUN当中
|
// 在单独的协程里面接收GPPkt,并从中提取出 IP 包写入到TUN当中
|
||||||
go func(done func()) {
|
go func(done func()) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
for {
|
for {
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ func (M *MINTunnelAdapter) Init(config *iptun.IPTunnelConfig) error {
|
|||||||
if listenIdentifier, err := component.CreateIdentifierByString(config.MirConfig.ListenIdentifier); err != nil {
|
if listenIdentifier, err := component.CreateIdentifierByString(config.MirConfig.ListenIdentifier); err != nil {
|
||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
if err := M.logicFace.RegisterIdentifier(listenIdentifier, 1000); err != nil {
|
if err := M.logicFace.RegisterPushIdentifier(listenIdentifier, 1000); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -62,8 +62,8 @@ func (M *MINTunnelAdapter) Init(config *iptun.IPTunnelConfig) error {
|
|||||||
// OnReceiveIPPktFromTun 处理从TUN网卡接收到的IP包
|
// OnReceiveIPPktFromTun 处理从TUN网卡接收到的IP包
|
||||||
//
|
//
|
||||||
// @Description:
|
// @Description:
|
||||||
// 1. 生成一个 UPPkt,将IP包放进去
|
// 1. 生成一个 GPPkt,将IP包放进去
|
||||||
// 2. 然后将 UPPkt 发出即可
|
// 2. 然后将 GPPkt 发出即可
|
||||||
// @receiver M
|
// @receiver M
|
||||||
// @param packet
|
// @param packet
|
||||||
//
|
//
|
||||||
@@ -77,22 +77,22 @@ func (M *MINTunnelAdapter) OnReceiveIPPktFromTun(ipPacket *iptun.IPPacket) error
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 在这边构造UPPkt发出
|
// 在这边构造GPPkt发出
|
||||||
uPPkt := new(packet.UPPkt)
|
gPPkt := new(packet.GPPkt)
|
||||||
uPPkt.SetTtl(5)
|
gPPkt.SetTtl(5)
|
||||||
uPPkt.SetSrcIdentifier(srcIdentifier)
|
gPPkt.SetSrcIdentifier(srcIdentifier)
|
||||||
uPPkt.SetDstIdentifier(dstIdentifier)
|
gPPkt.SetDstIdentifier(dstIdentifier)
|
||||||
uPPkt.Payload.SetValue(ipPacket.RawPackets)
|
gPPkt.Payload.SetValue(ipPacket.RawPackets)
|
||||||
|
|
||||||
common.LogDebug(fmt.Sprintf("Packet Received: %v -> %v \t %x\n", ipPacket.Src.String(), ipPacket.Dst.String(),
|
common.LogDebug(fmt.Sprintf("Packet Received: %v -> %v \t %x\n", ipPacket.Src.String(), ipPacket.Dst.String(),
|
||||||
ipPacket.RawPackets))
|
ipPacket.RawPackets))
|
||||||
if err := M.logicFace.SendUPPkt(uPPkt); err != nil {
|
if err := M.logicFace.SendGPPkt(gPPkt); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadIPPkt 从MIN网络中接收携带 IP 包的 UPPkt,并
|
// ReadIPPkt 从MIN网络中接收携带 IP 包的 GPPkt,并
|
||||||
//
|
//
|
||||||
// @Description:
|
// @Description:
|
||||||
// @receiver M
|
// @receiver M
|
||||||
@@ -100,17 +100,17 @@ func (M *MINTunnelAdapter) OnReceiveIPPktFromTun(ipPacket *iptun.IPPacket) error
|
|||||||
// @return error
|
// @return error
|
||||||
//
|
//
|
||||||
func (M *MINTunnelAdapter) ReadIPPkt() (*iptun.IPPacket, error) {
|
func (M *MINTunnelAdapter) ReadIPPkt() (*iptun.IPPacket, error) {
|
||||||
uPPkt, err := M.logicFace.ReceiveUPPkt(4000)
|
gPPkt, err := M.logicFace.ReceiveGPPkt(4000)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
common.LogDebug(fmt.Sprintf("Write %d bytes, %s -> %s, %x", len(uPPkt.Payload.GetValue()),
|
common.LogDebug(fmt.Sprintf("Write %d bytes, %s -> %s, %x", len(gPPkt.Payload.GetValue()),
|
||||||
waterutil.IPv4Source(uPPkt.Payload.GetValue()),
|
waterutil.IPv4Source(gPPkt.Payload.GetValue()),
|
||||||
waterutil.IPv4Destination(uPPkt.Payload.GetValue()), uPPkt.Payload.GetValue()))
|
waterutil.IPv4Destination(gPPkt.Payload.GetValue()), gPPkt.Payload.GetValue()))
|
||||||
}
|
}
|
||||||
return &iptun.IPPacket{
|
return &iptun.IPPacket{
|
||||||
Src: waterutil.IPv4Source(uPPkt.Payload.GetValue()),
|
Src: waterutil.IPv4Source(gPPkt.Payload.GetValue()),
|
||||||
Dst: waterutil.IPv4Destination(uPPkt.Payload.GetValue()),
|
Dst: waterutil.IPv4Destination(gPPkt.Payload.GetValue()),
|
||||||
RawPackets: uPPkt.Payload.GetValue(),
|
RawPackets: gPPkt.Payload.GetValue(),
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -37,7 +37,7 @@ var unSatisfiedInterestCount int64 = 0
|
|||||||
//export GoOnData
|
//export GoOnData
|
||||||
func GoOnData(cstr *C.char, size C.int) {
|
func GoOnData(cstr *C.char, size C.int) {
|
||||||
//fmt.Println("GoOnData")
|
//fmt.Println("GoOnData")
|
||||||
// 收到 UPPkt
|
// 收到 GPPkt
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
data := C.GoBytes(unsafe.Pointer(cstr), size)
|
data := C.GoBytes(unsafe.Pointer(cstr), size)
|
||||||
adapter.OnReceivePktFromNDN(&iptun.IPPacket{
|
adapter.OnReceivePktFromNDN(&iptun.IPPacket{
|
||||||
@@ -126,7 +126,7 @@ func StartIPTunnel(config *iptun.IPTunnelConfig) error {
|
|||||||
go func() {
|
go func() {
|
||||||
//count := 0
|
//count := 0
|
||||||
for {
|
for {
|
||||||
// 从 TUN 中读取IP包,并通过UPPkt发出
|
// 从 TUN 中读取IP包,并通过GPPkt发出
|
||||||
ipPacket := adapter.GetPktFromTun()
|
ipPacket := adapter.GetPktFromTun()
|
||||||
pktChan <- ipPacket
|
pktChan <- ipPacket
|
||||||
//sendPacket(ipPacket.RawPackets, ipTunnelConfig.TargetIdentifier+"/"+strconv.Itoa(count))
|
//sendPacket(ipPacket.RawPackets, ipTunnelConfig.TargetIdentifier+"/"+strconv.Itoa(count))
|
||||||
|
|||||||
Reference in New Issue
Block a user