forked from KNEMC/KLALB
Compare commits
6
Commits
patch-4
...
52f44335e4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52f44335e4
|
||
|
|
a06e1cb5eb | ||
|
|
58913254e0 | ||
|
|
02d7bcd93b | ||
|
|
1e52e82d6d | ||
|
|
3023fe5b2a |
+3
-1
@@ -4,7 +4,6 @@
|
||||
<classpathentry kind="lib" path="lib/gson-2.1.jar"/>
|
||||
<classpathentry kind="lib" path="lib/javassist.jar" sourcepath="C:/Users/ADMINI~1/AppData/Local/Temp/1/.org.sf.feeling.decompiler1686963856070/source/javassist-3.29.2-GA-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/ini4j.jar"/>
|
||||
<classpathentry kind="lib" path="lib/JFreeChart1.5.2.jar"/>
|
||||
<classpathentry kind="lib" path="lib/toml4j-0.7.1.jar"/>
|
||||
<classpathentry kind="lib" path="lib/pcap4j-core-1.8.2.jar" sourcepath="C:/Users/ADMINI~1/AppData/Local/Temp/1/.org.sf.feeling.decompiler1725520274095/source/pcap4j-core-1.8.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/pcap4j-packetfactory-propertiesbased-1.8.2.jar"/>
|
||||
@@ -29,5 +28,8 @@
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="lib/jfreechart-1.5.3.jar"/>
|
||||
<classpathentry kind="lib" path="lib/jfreechart-1.5.3-javadoc.jar"/>
|
||||
<classpathentry kind="lib" path="lib/jfreechart-1.5.3-sources.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
Generated
+38
@@ -0,0 +1,38 @@
|
||||
<component name="libraryTable">
|
||||
<library name="jfreechart-1.5.3">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/lib/jfreechart-1.5.3.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/disruptor-4.0.0.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/gson-2.1.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/ini4j.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/javassist.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/JavaTUN0.3.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/jctools-core-4.0.6.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/KNElib1.0.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/KNEOptimize.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/pcap4j-core-1.8.2.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/pcap4j-packetfactory-propertiesbased-1.8.2.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/pcap4j-packetfactory-static-1.8.2.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/pcap4j-packettest-1.8.2-tests.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/pcap4j-sample-1.8.2.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/slf4j-api-2.0.9.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/slf4j-api-2.0.9-tests.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/toml4j-0.7.1.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/uuid-creator-6.1.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$PROJECT_DIR$/lib/jctools-core-4.0.6-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$PROJECT_DIR$/lib/jfreechart-1.5.3-sources.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/disruptor-4.0.0-sources.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/ini4j.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/JavaTUN0.3.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/jctools-core-4.0.6-sources.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/KNElib1.0.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/slf4j-api-2.0.9-sources.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/toml4j-0.7.1.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/uuid-creator-6.1.1-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_26" project-jdk-name="jdk-26.0.1" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/classes" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -249,5 +249,6 @@
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="jdk" jdkName="jdk-26.0.1" jdkType="JavaSDK" />
|
||||
<orderEntry type="library" name="jfreechart-1.5.3" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
//加速线路
|
||||
{KLALBRemote}->43.248.189.107:35000
|
||||
{KLALBRemote}->cn-bj-bgp-3.openfrp.top:65529
|
||||
{KLALBRemote}->180.76.147.250:65529
|
||||
{KLALBRemote}->cn-ah-dx-1.natfrp.cloud:65529
|
||||
{KLALBRemote}->cn-nn-dx-1.natfrp.cloud:65529
|
||||
{KLALBRemote}->cn-wh-dx-1.natfrp.cloud:65529
|
||||
{KLALBRemote}->cn-zz-bgp-10.natfrp.cloud:23330
|
||||
{KLALBRemote}->cn-zz-bgp-7.natfrp.cloud:33336
|
||||
{KLALBRemote}->43.143.109.64:49965
|
||||
{KLALBRemote}->frp.104300.xyz:49965
|
||||
{KLALBRemote}->us.afrps.cn:49966
|
||||
{KLALBRemote}->hk.afrps.cn:49966
|
||||
{KLALBRemote}->la.afrps.cn:49966
|
||||
{KLALBRemote}->frp.freefrp.net:49965
|
||||
{KLALBRemote}->frp1.freefrp.net:49965
|
||||
{KLALBRemote}->frp2.freefrp.net:49965
|
||||
{KLALBRemote}->frp4.freefrp.net:49965
|
||||
|
||||
0.0.0.0:25565->{KLALBVirtual}[171d:a999:e697:4b23:ae52:9f29:4532:e1ee]:25565
|
||||
+1
-1
Submodule dashboard updated: 89474b9e91...885a0c2d89
Binary file not shown.
@@ -1,79 +0,0 @@
|
||||
[
|
||||
{"Type":"KLALBController" ,
|
||||
"TCPListen" : "0.0.0.0:4565",
|
||||
"UDPListen" : "{UDP}0.0.0.0:4572",
|
||||
"VirtualSocketName" : "KLALB_Stream",
|
||||
"LineTable":["43.248.189.107:65529",
|
||||
"cn-bj-bgp-3.openfrp.top:65529",
|
||||
"180.76.147.250:65529",
|
||||
"cn-ah-dx-1.natfrp.cloud:65529",
|
||||
"cn-nn-dx-1.natfrp.cloud:65529",
|
||||
"cn-wh-dx-1.natfrp.cloud:65529",
|
||||
"cn-zz-bgp-10.natfrp.cloud:23330",
|
||||
"cn-zz-bgp-7.natfrp.cloud:33336",
|
||||
"43.143.109.64:49965",
|
||||
"frp.104300.xyz:49965",
|
||||
"us.afrps.cn:49966",
|
||||
"hk.afrps.cn:49966",
|
||||
"la.afrps.cn:49966",
|
||||
"frp.freefrp.net:49965",
|
||||
"frp1.freefrp.net:49965",
|
||||
"frp2.freefrp.net:49965",
|
||||
"frp4.freefrp.net:49965",
|
||||
"cn-he-plc-2.openfrp.top:4572",
|
||||
"{UDP}cn-he-plc-2.openfrp.top:4572",
|
||||
"frp-mom.top:22226",
|
||||
"frp-man.top:36555",
|
||||
"us-sjc-bgp-2.openfrp.top:36555",
|
||||
"us-sjc-bgp-1.openfrp.top:36555",
|
||||
"[240e:340:d856:b700:6d02:6a6a:f9fc:865b]:4572"]
|
||||
},
|
||||
{"Type":"SocketBridge" ,
|
||||
"Listen" : "0.0.0.0:4572",
|
||||
"Bridge":{
|
||||
"KLALB" : "SocketBridge",
|
||||
"RDP":"SocketBridge",
|
||||
"HTTP":"SocketBridge",
|
||||
"HTTPS":"SocketBridge",
|
||||
"DEFAULT":"MinecraftSocketBridge23332"
|
||||
} ,
|
||||
"Connect" : {
|
||||
"KLALB" : "127.0.0.1:4565",
|
||||
"RDP":"127.0.0.1:3389",
|
||||
"HTTP":"127.0.0.1:5212",
|
||||
"HTTPS":"192.168.1.235:443",
|
||||
"DEFAULT":"127.0.0.1:36555"
|
||||
}
|
||||
},
|
||||
{"Type":"SocketBridge" ,
|
||||
"Listen" : "{KLALB_Stream}[::0]:23332",
|
||||
"Bridge":"MinecraftSocketBridge23332",
|
||||
"Connect" : "127.0.0.1:36555"
|
||||
},
|
||||
{ "Type":"SocketBridge" ,
|
||||
"Listen" : "{KLALB_Stream}[::0]:23333",
|
||||
"Bridge":"SocketBridge",
|
||||
"Connect" : "127.0.0.1:5212"
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{"Type":"SocketBridge" ,
|
||||
"Listen" : "0.0.0.0:25561",
|
||||
"Bridge":{
|
||||
"KLALB" : "SocketBridge",
|
||||
"DEFAULT":"MinecraftSocketBridge23330"
|
||||
} ,
|
||||
"Connect" : {
|
||||
"KLALB" : "127.0.0.1:4565",
|
||||
"DEFAULT":"127.0.0.1:25562"
|
||||
}
|
||||
},
|
||||
{"Type":"SocketBridge" ,
|
||||
"Listen" : "{KLALB_Stream}[::0]:23330",
|
||||
"Bridge":"MinecraftSocketBridge23330",
|
||||
"Connect" : "127.0.0.1:25562"
|
||||
}
|
||||
]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,29 +0,0 @@
|
||||
0.0.0.0:35000(RDP)->192.168.1.233:3389
|
||||
0.0.0.0:35000(HTTPS)->192.168.1.233:8444
|
||||
0.0.0.0:35000(HTTP)->192.168.1.233:5212
|
||||
0.0.0.0:35000(SSH)->192.168.1.236:22
|
||||
0.0.0.0:35000(KLALB)->{KLALBRemote}
|
||||
0.0.0.0:35000->127.0.0.1:35001 //Winds服(普通线路)
|
||||
|
||||
{KLALBVirtual}[::0]:25565->127.0.0.1:35001 //Winds服(加速线路)
|
||||
|
||||
//加速线路
|
||||
{KLALBRemote}->43.248.189.107:35000
|
||||
{KLALBRemote}->cn-bj-bgp-3.openfrp.top:65529
|
||||
{KLALBRemote}->180.76.147.250:65529
|
||||
{KLALBRemote}->cn-ah-dx-1.natfrp.cloud:65529
|
||||
{KLALBRemote}->cn-nn-dx-1.natfrp.cloud:65529
|
||||
{KLALBRemote}->cn-wh-dx-1.natfrp.cloud:65529
|
||||
{KLALBRemote}->cn-zz-bgp-10.natfrp.cloud:23330
|
||||
{KLALBRemote}->cn-zz-bgp-7.natfrp.cloud:33336
|
||||
{KLALBRemote}->43.143.109.64:49965
|
||||
{KLALBRemote}->frp.104300.xyz:49965
|
||||
{KLALBRemote}->us.afrps.cn:49966
|
||||
{KLALBRemote}->hk.afrps.cn:49966
|
||||
{KLALBRemote}->la.afrps.cn:49966
|
||||
{KLALBRemote}->frp.freefrp.net:49965
|
||||
{KLALBRemote}->frp1.freefrp.net:49965
|
||||
{KLALBRemote}->frp2.freefrp.net:49965
|
||||
{KLALBRemote}->frp4.freefrp.net:49965
|
||||
|
||||
0.0.0.0:25565->{KLALBVirtual}[171d:a999:e697:4b23:ae52:9f29:4532:e1ee]:25565
|
||||
@@ -1,18 +0,0 @@
|
||||
43.248.189.107:65529
|
||||
cn-bj-bgp-3.openfrp.top:65529
|
||||
180.76.147.250:65529
|
||||
cn-ah-dx-1.natfrp.cloud:65529
|
||||
cn-nn-dx-1.natfrp.cloud:65529
|
||||
cn-wh-dx-1.natfrp.cloud:65529
|
||||
cn-zz-bgp-10.natfrp.cloud:23330
|
||||
cn-zz-bgp-7.natfrp.cloud:33336
|
||||
43.143.109.64:49965
|
||||
frp.104300.xyz:49965
|
||||
us.afrps.cn:49966
|
||||
hk.afrps.cn:49966
|
||||
la.afrps.cn:49966
|
||||
frp.freefrp.net:49965
|
||||
frp1.freefrp.net:49965
|
||||
frp2.freefrp.net:49965
|
||||
frp4.freefrp.net:49965
|
||||
cn-he-plc-2.openfrp.top:4569
|
||||
@@ -1,8 +0,0 @@
|
||||
0.0.0.0:35000(RDP)->192.168.1.233:3389
|
||||
0.0.0.0:35000(HTTPS)->192.168.1.233:8444
|
||||
0.0.0.0:35000(HTTP)->192.168.1.233:5212
|
||||
0.0.0.0:35000(SSH)->192.168.1.236:22
|
||||
0.0.0.0:35000(KLALB)->{KLALBRemote}
|
||||
0.0.0.0:35000->127.0.0.1:35001 //Winds服(普通线路)
|
||||
|
||||
{KLALBVirtual}[::0]:25565->127.0.0.1:35001 //Winds服(加速线路)
|
||||
@@ -1,5 +1,8 @@
|
||||
package org.kne.cloud.network.ipv6;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Supplier;
|
||||
@@ -8,10 +11,17 @@ import org.kne.cloud.network.srv6.SRv6Router;
|
||||
|
||||
public abstract class AbstractIPv6NetworkLink implements IPv6NetworkLink {
|
||||
private CopyOnWriteArraySet<IPv6LinkStateListener> listeners = new CopyOnWriteArraySet<>();
|
||||
|
||||
|
||||
private SRv6Router srv6Router;
|
||||
private final boolean loopback;
|
||||
|
||||
|
||||
|
||||
public AbstractIPv6NetworkLink(boolean loopback) {
|
||||
super();
|
||||
this.loopback = loopback;
|
||||
}
|
||||
|
||||
public SRv6Router getSrv6Router() {
|
||||
return srv6Router;
|
||||
}
|
||||
@@ -57,4 +67,35 @@ public abstract class AbstractIPv6NetworkLink implements IPv6NetworkLink {
|
||||
public void setReceiveConsumer(BiConsumer<IPv6NetworkLink,Supplier< IPv6Packet>> receiveConsumer) {
|
||||
this.receiveConsumer = receiveConsumer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLoopBack() {
|
||||
return loopback;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RouteItem> getRouteItems() {
|
||||
List<RouteItem> rlist = new ArrayList<>();
|
||||
if(isLoopBack()) {
|
||||
for(IPv6AddressGroup group:getAddressGroups()) {
|
||||
rlist.add(new RouteItem(new IPv6AddressGroup(group.getAddress(), 128),
|
||||
group.getAddress(), this, RouteItem.DIRECT, 0, 0, null, "D"));
|
||||
}
|
||||
}
|
||||
if(isUp()) {
|
||||
for (Iterator<Neighbor> iteratorx = getNeighborsInfo().iterator(); iteratorx.hasNext();) {
|
||||
Neighbor addresses = (Neighbor) iteratorx.next();
|
||||
RouteItem ri = new RouteItem(new IPv6AddressGroup(addresses.getAddress().getAddress(), 128),
|
||||
addresses.getAddress().getAddress(), this,RouteItem.SRv6_ENDXSID, 0, 128, null, "D");
|
||||
rlist.add(ri);
|
||||
|
||||
RouteItem ris = new RouteItem(addresses.getLocator(),
|
||||
addresses.getLocator().getAddress(), this, RouteItem.SRv6_ENDSID, 13, 128,
|
||||
null, "D");
|
||||
rlist.add(ris);
|
||||
|
||||
}
|
||||
}
|
||||
return rlist;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@ public class IPv6TUNLoopbackNetworkLink extends AbstractIPv6NetworkLink
|
||||
private Lock slok = new SpinLock();
|
||||
|
||||
public IPv6TUNLoopbackNetworkLink(String name,IPv6AddressGroup hostAddress, int mtu, List<InetAddress> dns) throws IOException {
|
||||
super(true);
|
||||
if (tun != null)
|
||||
throw new IllegalStateException("already open!");
|
||||
try {
|
||||
@@ -204,13 +205,6 @@ public class IPv6TUNLoopbackNetworkLink extends AbstractIPv6NetworkLink
|
||||
LockSupport.unpark(tr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public boolean isLoopBack() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Neighbor> getNeighborsInfo() {
|
||||
List<Neighbor> hs = new ArrayList<>();
|
||||
@@ -219,10 +213,6 @@ public class IPv6TUNLoopbackNetworkLink extends AbstractIPv6NetworkLink
|
||||
return hs;
|
||||
}
|
||||
|
||||
/*
|
||||
* @Override public boolean isCongress(IPv6Packet iPv6Packet,double scale) {
|
||||
* return sendQueue.size() > 1000*scale; }
|
||||
*/
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
@@ -255,27 +245,4 @@ public class IPv6TUNLoopbackNetworkLink extends AbstractIPv6NetworkLink
|
||||
return List.of(hostAddress);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RouteItem> getRouteItems() {
|
||||
List<RouteItem> rlist = new ArrayList<>();
|
||||
|
||||
for (IPv6AddressGroup grp : getAddressGroups()) {
|
||||
rlist.add(new RouteItem(new IPv6AddressGroup(grp.getAddress(), 128), grp.getAddress(), this, "Direct", 0, 1,
|
||||
null, "D", true));
|
||||
}
|
||||
|
||||
for (Iterator<Neighbor> iteratorx = getNeighborsInfo().iterator(); iteratorx.hasNext();) {
|
||||
Neighbor addresses = (Neighbor) iteratorx.next();
|
||||
RouteItem ri = new RouteItem(new IPv6AddressGroup(addresses.getAddress().getAddress(), 128),
|
||||
addresses.getAddress().getAddress(), this, "Direct", 0, 128, null, "D", false);
|
||||
rlist.add(ri);
|
||||
|
||||
RouteItem ris = new RouteItem(addresses.getLocator(), addresses.getLocator().getAddress(), this,
|
||||
"KLALB SRv6", 13, 128, null, "D", false);
|
||||
rlist.add(ris);
|
||||
|
||||
}
|
||||
return rlist;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ public class LoopbackIPv6NetworkLink extends AbstractIPv6NetworkLink implements
|
||||
|
||||
//new Inet6AddressGroup(loopbackAddress, 128) new Inet6AddressGroup((Inet6Address) Inet6Address.getByName("::1"), 128)
|
||||
public LoopbackIPv6NetworkLink(List<IPv6AddressGroup> addressGroupsx,SRv6Router router) {
|
||||
super(true);
|
||||
this.addressGroups .addAll( addressGroupsx);
|
||||
}
|
||||
|
||||
@@ -54,10 +55,7 @@ public class LoopbackIPv6NetworkLink extends AbstractIPv6NetworkLink implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLoopBack() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<Neighbor> getNeighborsInfo() {
|
||||
@@ -93,29 +91,6 @@ public class LoopbackIPv6NetworkLink extends AbstractIPv6NetworkLink implements
|
||||
return rerouteConsumer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RouteItem> getRouteItems() {
|
||||
List<RouteItem> rlist = new ArrayList<>();
|
||||
for(IPv6AddressGroup group:addressGroups) {
|
||||
rlist.add(new RouteItem(new IPv6AddressGroup(group.getAddress(), 128),
|
||||
group.getAddress(), this, "Direct", 0, 0, null, "D", true));
|
||||
}
|
||||
|
||||
for (Iterator<Neighbor> iteratorx = getNeighborsInfo().iterator(); iteratorx.hasNext();) {
|
||||
Neighbor addresses = (Neighbor) iteratorx.next();
|
||||
RouteItem ri = new RouteItem(new IPv6AddressGroup(addresses.getAddress().getAddress(), 128),
|
||||
addresses.getAddress().getAddress(), this, "Direct", 0, 128, null, "D",
|
||||
false);
|
||||
rlist.add(ri);
|
||||
|
||||
RouteItem ris = new RouteItem(addresses.getLocator(),
|
||||
addresses.getLocator().getAddress(), this, "KLALB SRv6", 13, 128,
|
||||
null, "D", false);
|
||||
rlist.add(ris);
|
||||
|
||||
}
|
||||
return rlist;
|
||||
}
|
||||
|
||||
|
||||
public SRv6Router getRouter() {
|
||||
|
||||
@@ -4,6 +4,10 @@ import java.util.Objects;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class RouteItem implements Comparable<RouteItem>,Cloneable{
|
||||
public static final String DIRECT="Direct";
|
||||
public static final String SRv6_ENDSID="SRv6 ENDSID";
|
||||
public static final String SRv6_ENDXSID="SRv6 ENDXSID";
|
||||
|
||||
private IPv6AddressGroup destination;
|
||||
private IPv6Address nexthop;
|
||||
private IPv6NetworkLink destlink;
|
||||
@@ -12,7 +16,6 @@ public class RouteItem implements Comparable<RouteItem>,Cloneable{
|
||||
private long cost;
|
||||
private String flag;
|
||||
private Supplier<Long> costSupplier;
|
||||
private boolean isLoopback;
|
||||
public String getFlag() {
|
||||
return flag;
|
||||
}
|
||||
@@ -34,7 +37,7 @@ public class RouteItem implements Comparable<RouteItem>,Cloneable{
|
||||
&& pre == other.pre && Objects.equals(proto, other.proto);
|
||||
}
|
||||
public RouteItem(IPv6AddressGroup destination, IPv6Address nexthop, IPv6NetworkLink destlink, String proto, int pre,
|
||||
long cost,String flag,boolean isLoopback) {
|
||||
long cost,String flag) {
|
||||
super();
|
||||
this.destination = destination;
|
||||
this.nexthop = nexthop;
|
||||
@@ -43,10 +46,9 @@ public class RouteItem implements Comparable<RouteItem>,Cloneable{
|
||||
this.pre = pre;
|
||||
this.cost = cost;
|
||||
this.flag=flag;
|
||||
this.isLoopback=isLoopback;
|
||||
}
|
||||
public RouteItem(IPv6AddressGroup destination, IPv6Address nexthop, IPv6NetworkLink destlink, String proto, int pre,
|
||||
long cost,Supplier<Long> costSupplier,String flag,boolean isLoopback) {
|
||||
long cost,Supplier<Long> costSupplier,String flag) {
|
||||
super();
|
||||
this.destination = destination;
|
||||
this.nexthop = nexthop;
|
||||
@@ -56,7 +58,6 @@ public class RouteItem implements Comparable<RouteItem>,Cloneable{
|
||||
this.cost = cost;
|
||||
this.costSupplier=costSupplier;
|
||||
this.flag=flag;
|
||||
this.isLoopback=isLoopback;
|
||||
}
|
||||
public IPv6AddressGroup getDestination() {
|
||||
return destination;
|
||||
@@ -73,9 +74,6 @@ public class RouteItem implements Comparable<RouteItem>,Cloneable{
|
||||
public int getPre() {
|
||||
return pre;
|
||||
}
|
||||
public boolean isLoopback() {
|
||||
return isLoopback;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return getDestination()+"\t"+getProto()+"\t"+getPre()+"\t"+getCost()+"\t"+getFlag()+"\t"+getNexthop()+"\t"+getDestlink().getName();
|
||||
|
||||
@@ -13,6 +13,10 @@ import org.kne.cloud.network.ipv6.RouteItem;
|
||||
|
||||
public abstract class AbstractControlledIPv6NetworkLink extends AbstractIPv6NetworkLink implements ControlledIPv6NetworkLink{
|
||||
|
||||
public AbstractControlledIPv6NetworkLink(boolean loopback) {
|
||||
super(loopback);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public class CONST {
|
||||
|
||||
public static final String KLALB_S_RV6 = "KLALB_SRv6";
|
||||
|
||||
|
||||
public static final String KLTP_VIRTUAL_SOCKET_NAME="kltp";
|
||||
|
||||
public static final int itemwidth = 1000;
|
||||
public static final int linepanelheight = 41;
|
||||
|
||||
@@ -687,7 +687,7 @@ public class KLALBController {
|
||||
// System.out.println(context);
|
||||
try {
|
||||
NTPv4Protocol nvc = new NTPv4Protocol(context,
|
||||
new MultiProtocolSocketAddress(iproxyname + "_Datagram","0.0.0.0",123));
|
||||
new MultiProtocolSocketAddress(iproxyname + "datagram","0.0.0.0",123));
|
||||
srv6Router.addSRv6RouterListener(new SRv6RouterListener() {
|
||||
|
||||
@Override
|
||||
@@ -698,7 +698,7 @@ public class KLALBController {
|
||||
for (Neighbor neighbor : nb) {
|
||||
if (neighbor.getLocator() != null)
|
||||
sp.add(new NTPPeer(
|
||||
new MultiProtocolSocketAddress(iproxyname + "_Datagram",
|
||||
new MultiProtocolSocketAddress(iproxyname + "datagram",
|
||||
neighbor.getLocator().getAddress().toString(), 123),
|
||||
NTPv4Packet.NTP_SYMMETRIC_ACTIVE));
|
||||
|
||||
@@ -978,8 +978,8 @@ public class KLALBController {
|
||||
|
||||
|
||||
public void registerToProxyTypeAs(String proxyname) {
|
||||
MultiProtocolSocketAddress.getSocketTypeRegister().put(proxyname + "_Stream", streamSocketType);
|
||||
MultiProtocolSocketAddress.getSocketTypeRegister().put(proxyname + "_Datagram", datagramSocketType);
|
||||
MultiProtocolSocketAddress.getSocketTypeRegister().put(proxyname + "stream", streamSocketType);
|
||||
MultiProtocolSocketAddress.getSocketTypeRegister().put(proxyname + "datagram", datagramSocketType);
|
||||
// ProxyProfileEntry.getRegister().put(proxyname, this);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,8 +22,7 @@ import org.kne.cloud.network.klalb.ui.UIEnv;
|
||||
import org.kne.cloud.network.perf.Kperf;
|
||||
import org.kne.cloud.network.perf.NodeBenchmark;
|
||||
import org.kne.debug.TimeDebugger;
|
||||
import org.kne.membandboost.MembandBenchmark;
|
||||
import org.kne.membandboost.ObjectPoolBandwidthTest;
|
||||
import org.kne.membandboost.benchmark.*;;
|
||||
|
||||
public class KLALBMain {
|
||||
public static KLALBStateGUI3 ksg;
|
||||
@@ -239,10 +238,6 @@ public class KLALBMain {
|
||||
case "membandbenchmark":
|
||||
MembandBenchmark.main(args);
|
||||
break;
|
||||
case "memqueuebenchmark":
|
||||
|
||||
ObjectPoolBandwidthTest.main(args);
|
||||
break;
|
||||
//case "$$SYSTEM:":
|
||||
//System.out.println();
|
||||
//break;
|
||||
|
||||
@@ -168,9 +168,11 @@ public class KLALBProxySystem {
|
||||
|
||||
|
||||
String vsne=kcci.getVirtualSocketName();
|
||||
//if(vsne!=null) {
|
||||
if(vsne!=null) {
|
||||
MultiProtocolSocketAddress.getSocketTypeRegister().put(vsne, klalbController.getStreamSocketType());
|
||||
//}
|
||||
}else{
|
||||
MultiProtocolSocketAddress.getSocketTypeRegister().put(CONST.KLTP_VIRTUAL_SOCKET_NAME, klalbController.getStreamSocketType());
|
||||
}
|
||||
MultiProtocolSocketAddress tcple=kcci.getTCPListen();
|
||||
if(tcple!=null) {
|
||||
|
||||
|
||||
@@ -142,6 +142,7 @@ public class KLALBRemoteLink extends AbstractControlledIPv6NetworkLink implement
|
||||
}
|
||||
|
||||
public KLALBRemoteLink(KLALBController controller,KLALBPacketLink kpl, IPv6AddressGroup address) {
|
||||
super(false);
|
||||
this.klalbController=controller;
|
||||
sysclk = klalbController.getClock();
|
||||
this.kplink = kpl;
|
||||
@@ -151,6 +152,7 @@ public class KLALBRemoteLink extends AbstractControlledIPv6NetworkLink implement
|
||||
}
|
||||
|
||||
private KLALBRemoteLink(KLALBController controller, MultiProtocolSocketAddress mpa, MultiProtocolSocketAddress bindaddr, IPv6AddressGroup address) {
|
||||
super(false);
|
||||
this.klalbController=controller;
|
||||
sysclk = klalbController.getClock();
|
||||
this.socketAddress = mpa;
|
||||
@@ -854,10 +856,6 @@ public class KLALBRemoteLink extends AbstractControlledIPv6NetworkLink implement
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLoopBack() {
|
||||
return false;
|
||||
}
|
||||
BandwidthDistributer bandwidthDistributer=new BandwidthDistributer<>();
|
||||
@Override
|
||||
public List<Neighbor> getNeighborsInfo() {
|
||||
@@ -946,31 +944,28 @@ public class KLALBRemoteLink extends AbstractControlledIPv6NetworkLink implement
|
||||
return (!isClosed()) && (status.getState() == LinkStatus.UP) ;
|
||||
}
|
||||
|
||||
@Override
|
||||
/*@Override
|
||||
public List<RouteItem> getRouteItems() {
|
||||
List<RouteItem> rlist = new ArrayList<>();
|
||||
|
||||
if(isUp()) {
|
||||
IPv6AddressGroup adg = addressGroup;
|
||||
/*if (adg != null)
|
||||
rlist.add(new RouteItem(new IPv6AddressGroup(adg.getAddress(), 128), adg.getAddress(), this, "Direct", 0, 0,
|
||||
null, "D", true));*/
|
||||
|
||||
|
||||
for (Iterator<Neighbor> iteratorx = getNeighborsInfo().iterator(); iteratorx.hasNext(); ) {
|
||||
Neighbor addresses = (Neighbor) iteratorx.next();
|
||||
RouteItem ri = new RouteItem(new IPv6AddressGroup(addresses.getAddress().getAddress(), 128),
|
||||
addresses.getAddress().getAddress(), this, "Direct", 0, 128, CostSupplierFactory.expectedDelaySupplier((DelayMonitorData) addresses.getMonitor(), status, algorithm::getRTO), "D", false);
|
||||
addresses.getAddress().getAddress(), this, RouteItem.SRv6_ENDXSID, 0, 128, CostSupplierFactory.expectedDelaySupplier((DelayMonitorData) addresses.getMonitor(), status, algorithm::getRTO), "D");
|
||||
rlist.add(ri);
|
||||
|
||||
if (addresses.getLocator() != null) {
|
||||
RouteItem ris = new RouteItem(addresses.getLocator(), addresses.getLocator().getAddress(), this,
|
||||
"KLALB SRv6", 13, 128, CostSupplierFactory.expectedDelaySupplier((DelayMonitorData) addresses.getMonitor(), status, algorithm::getRTO), "D", false);
|
||||
RouteItem.SRv6_ENDSID, 13, 128, CostSupplierFactory.expectedDelaySupplier((DelayMonitorData) addresses.getMonitor(), status, algorithm::getRTO), "D");
|
||||
rlist.add(ris);
|
||||
}
|
||||
}
|
||||
}
|
||||
return rlist;
|
||||
}
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public void setCongressCondition(Lock lock, Condition condition) {
|
||||
|
||||
@@ -82,8 +82,8 @@ public class NetworkGraphPanel extends GraphPanel {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
KperfGUI kpfg=new KperfGUI();
|
||||
kpfg.setVisible(true);
|
||||
MultiProtocolSocketAddress source=new MultiProtocolSocketAddress("KLALB_Stream",controller.getIpv6Router().getLocator().getAddress().toString(),0);
|
||||
MultiProtocolSocketAddress target=new MultiProtocolSocketAddress("KLALB_Stream", address.toString(), 4564);
|
||||
MultiProtocolSocketAddress source=new MultiProtocolSocketAddress("kltp",controller.getIpv6Router().getLocator().getAddress().toString(),0);
|
||||
MultiProtocolSocketAddress target=new MultiProtocolSocketAddress("kltp", address.toString(), 4564);
|
||||
kpfg.setTarget(target,source);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -211,7 +211,7 @@ public class KLALBRoutingProtocol extends Thread{
|
||||
while(true) {
|
||||
|
||||
try {
|
||||
byte[]ca=MembandBoost.allocateUninitializedArray(65535);
|
||||
byte[]ca=MembandBoost.allocateUninitializedByteArray(65535);
|
||||
DatagramPacket dgp=new DatagramPacket(ca, ca.length);
|
||||
ds.receive(dgp);
|
||||
//System.out.println(Arrays.toString( Arrays.copyOf( dgp.getData(),dgp.getLength())));
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user