|
@@ -507,24 +507,26 @@ void Switch::onLocalEthernet(void *tPtr,const SharedPtr<Network> &network,const
|
|
|
|
|
|
network->pushCredentialsIfNeeded(tPtr,toZT,RR->node->now());
|
|
network->pushCredentialsIfNeeded(tPtr,toZT,RR->node->now());
|
|
|
|
|
|
- if (fromBridged) {
|
|
|
|
- Packet outp(toZT,RR->identity.address(),Packet::VERB_EXT_FRAME);
|
|
|
|
|
|
+ if (!fromBridged) {
|
|
|
|
+ Packet outp(toZT,RR->identity.address(),Packet::VERB_FRAME);
|
|
outp.append(network->id());
|
|
outp.append(network->id());
|
|
- outp.append((unsigned char)0x00);
|
|
|
|
- to.appendTo(outp);
|
|
|
|
- from.appendTo(outp);
|
|
|
|
outp.append((uint16_t)etherType);
|
|
outp.append((uint16_t)etherType);
|
|
outp.append(data,len);
|
|
outp.append(data,len);
|
|
- if (!network->config().disableCompression())
|
|
|
|
- outp.compress();
|
|
|
|
|
|
+ // 1.4.8: disable compression for unicast as it almost never helps
|
|
|
|
+ //if (!network->config().disableCompression())
|
|
|
|
+ // outp.compress();
|
|
aqm_enqueue(tPtr,network,outp,true,qosBucket,flowId);
|
|
aqm_enqueue(tPtr,network,outp,true,qosBucket,flowId);
|
|
} else {
|
|
} else {
|
|
- Packet outp(toZT,RR->identity.address(),Packet::VERB_FRAME);
|
|
|
|
|
|
+ Packet outp(toZT,RR->identity.address(),Packet::VERB_EXT_FRAME);
|
|
outp.append(network->id());
|
|
outp.append(network->id());
|
|
|
|
+ outp.append((unsigned char)0x00);
|
|
|
|
+ to.appendTo(outp);
|
|
|
|
+ from.appendTo(outp);
|
|
outp.append((uint16_t)etherType);
|
|
outp.append((uint16_t)etherType);
|
|
outp.append(data,len);
|
|
outp.append(data,len);
|
|
- if (!network->config().disableCompression())
|
|
|
|
- outp.compress();
|
|
|
|
|
|
+ // 1.4.8: disable compression for unicast as it almost never helps
|
|
|
|
+ //if (!network->config().disableCompression())
|
|
|
|
+ // outp.compress();
|
|
aqm_enqueue(tPtr,network,outp,true,qosBucket,flowId);
|
|
aqm_enqueue(tPtr,network,outp,true,qosBucket,flowId);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -579,8 +581,9 @@ void Switch::onLocalEthernet(void *tPtr,const SharedPtr<Network> &network,const
|
|
from.appendTo(outp);
|
|
from.appendTo(outp);
|
|
outp.append((uint16_t)etherType);
|
|
outp.append((uint16_t)etherType);
|
|
outp.append(data,len);
|
|
outp.append(data,len);
|
|
- if (!network->config().disableCompression())
|
|
|
|
- outp.compress();
|
|
|
|
|
|
+ // 1.4.8: disable compression for unicast as it almost never helps
|
|
|
|
+ //if (!network->config().disableCompression())
|
|
|
|
+ // outp.compress();
|
|
aqm_enqueue(tPtr,network,outp,true,qosBucket,flowId);
|
|
aqm_enqueue(tPtr,network,outp,true,qosBucket,flowId);
|
|
} else {
|
|
} else {
|
|
RR->t->outgoingNetworkFrameDropped(tPtr,network,from,to,etherType,vlanId,len,"filter blocked (bridge replication)");
|
|
RR->t->outgoingNetworkFrameDropped(tPtr,network,from,to,etherType,vlanId,len,"filter blocked (bridge replication)");
|