Input aggregation element
p4pe opened this issue · comments
Hi again,
In my current project, I'm trying to measure the additional CPU overhead that an LB will add.
For this, I implement a simple chain
And then I expand the graph using also an LB
The implementation is below
in::FromDPDKDevice(0000:06:00.1, PROMISC true)
c::Classifier(12/0806,
12/0800,
-
);
NAT1::IPRewriter(pattern 27.32.11.3 1024-65535 - - 0 1);
NAT2::IPRewriter(pattern 27.32.11.3 1024-65535 - - 0 1);
f1::IPFilter( 0 src host 27.32.11.3,
1 all
);
//f2::IPFilter(0 src host 17.32.11.4,
// 1 all
//);
switch::PullSwitch
lb::RoundRobinSwitch;
in->c
c[0]->Print(ARP)->Discard;
c[1]->CheckIPHeader(14)->lb
c[2]->Discard;
lb[0]->NAT1
lb[1]->NAT2
NAT1[0]->switch;
NAT1[1]->Discard;
NAT2[0]->switch;
NAT2[1]->Discard;
switch->Queue->f1
f1[0]->c1::AverageCounter->ToDPDKDevice(0000:06:00.0)
f1[1]->Discard;
//f2[0]->c2::AverageCounter->ToDPDKDevice(0000:06:00.2)
//f2[1]->Discard;
Script(wait 1, print "Rate of packets sent : $(c1.rate)", loop)
ControlSocket("TCP", 1234)
As I realize, I need an element that aggregates the outputs of NAT1 and NAT2, to one output that is the input to the firewall.
I'm trying to do this using the PullSwitch (and RoundRobinSwitch) elements but of course, I can not connect a pull port to a push port
My question is, which is the appropriat element to handle this?
Thank you in advance
Hi! Sorry, somehow I forgot to answer this. You don't need any element to aggregate push ports. Multiple source can push to the same element.