Re: [ovs-dev] [PATCH v1] ofproto-dpif-mirror: Fix issue of reseting snaplen in mirroring
On Fri, Mar 31, 2017 at 8:09 AM, William Tuwrote: > Looks good to me, thanks for the fix. > > Acked-by: William Tu > > On Sun, Mar 26, 2017 at 8:16 PM, Zhenyu Gao wrote: >> Currently, the mirror code doesn't check new value of snaplen when try >> to reconfigure snaplen. >> This patch fix this issue and add testings to reconfigure snaplen. >> >> Signed-off-by: Zhenyu Gao Thanks Zhenyu for the bug fix and William for the review! Pushed to master, branch-2.7 and branch 2.6. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v1] ofproto-dpif-mirror: Fix issue of reseting snaplen in mirroring
Looks good to me, thanks for the fix. Acked-by: William TuOn Sun, Mar 26, 2017 at 8:16 PM, Zhenyu Gao wrote: > Currently, the mirror code doesn't check new value of snaplen when try > to reconfigure snaplen. > This patch fix this issue and add testings to reconfigure snaplen. > > Signed-off-by: Zhenyu Gao > --- > ofproto/ofproto-dpif-mirror.c | 3 ++- > tests/ofproto-dpif.at | 40 > 2 files changed, 42 insertions(+), 1 deletion(-) > > diff --git a/ofproto/ofproto-dpif-mirror.c b/ofproto/ofproto-dpif-mirror.c > index 675adf3..62dcc45 100644 > --- a/ofproto/ofproto-dpif-mirror.c > +++ b/ofproto/ofproto-dpif-mirror.c > @@ -252,7 +252,8 @@ mirror_set(struct mbridge *mbridge, void *aux, const char > *name, > && hmapx_equals(_map, >dsts) > && vlan_bitmap_equal(mirror->vlans, src_vlans) > && mirror->out == out > -&& mirror->out_vlan == out_vlan) > +&& mirror->out_vlan == out_vlan > +&& mirror->snaplen == snaplen) > { > hmapx_destroy(_map); > hmapx_destroy(_map); > diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at > index e3d79bd..0c2ea38 100644 > --- a/tests/ofproto-dpif.at > +++ b/tests/ofproto-dpif.at > @@ -4458,6 +4458,46 @@ AT_CHECK_UNQUOTED([tail -1 stdout], [0], > OVS_VSWITCHD_STOP > AT_CLEANUP > > +AT_SETUP([ofproto-dpif - mirroring, select_all with snaplen and reset > snaplen]) > +AT_KEYWORDS([mirror mirrors mirroring]) > +OVS_VSWITCHD_START > +add_of_ports br0 1 2 3 > +ovs-vsctl \ > +set Bridge br0 mirrors=@m --\ > +--id=@p3 get Port p3 --\ > +--id=@m create Mirror name=mymirror select_all=true output_port=@p3 > snaplen=100 > + > +AT_DATA([flows.txt], [dnl > +in_port=1 actions=output:2 > +in_port=2 actions=output:1 > +]) > +AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) > + > +flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)" > +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "$flow"], [0], [stdout]) > +AT_CHECK_UNQUOTED([tail -1 stdout], [0], > + [Datapath actions: trunc(100),3,2 > +]) > + > +ovs-vsctl set mirror mymirror snaplen=77 > + > +flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)" > +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "$flow"], [0], [stdout]) > +AT_CHECK_UNQUOTED([tail -1 stdout], [0], > + [Datapath actions: trunc(77),3,1 > +]) > + > +ovs-vsctl set mirror mymirror snaplen=65535 > + > +flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)" > +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "$flow"], [0], [stdout]) > +AT_CHECK_UNQUOTED([tail -1 stdout], [0], > + [Datapath actions: 3,1 > +]) > + > +OVS_VSWITCHD_STOP > +AT_CLEANUP > + > AT_SETUP([ofproto-dpif - mirroring, select_src with snaplen]) > AT_KEYWORDS([mirror mirrors mirroring]) > OVS_VSWITCHD_START > -- > 1.9.1 > ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
[ovs-dev] [PATCH v1] ofproto-dpif-mirror: Fix issue of reseting snaplen in mirroring
Currently, the mirror code doesn't check new value of snaplen when try to reconfigure snaplen. This patch fix this issue and add testings to reconfigure snaplen. Signed-off-by: Zhenyu Gao--- ofproto/ofproto-dpif-mirror.c | 3 ++- tests/ofproto-dpif.at | 40 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/ofproto/ofproto-dpif-mirror.c b/ofproto/ofproto-dpif-mirror.c index 675adf3..62dcc45 100644 --- a/ofproto/ofproto-dpif-mirror.c +++ b/ofproto/ofproto-dpif-mirror.c @@ -252,7 +252,8 @@ mirror_set(struct mbridge *mbridge, void *aux, const char *name, && hmapx_equals(_map, >dsts) && vlan_bitmap_equal(mirror->vlans, src_vlans) && mirror->out == out -&& mirror->out_vlan == out_vlan) +&& mirror->out_vlan == out_vlan +&& mirror->snaplen == snaplen) { hmapx_destroy(_map); hmapx_destroy(_map); diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at index e3d79bd..0c2ea38 100644 --- a/tests/ofproto-dpif.at +++ b/tests/ofproto-dpif.at @@ -4458,6 +4458,46 @@ AT_CHECK_UNQUOTED([tail -1 stdout], [0], OVS_VSWITCHD_STOP AT_CLEANUP +AT_SETUP([ofproto-dpif - mirroring, select_all with snaplen and reset snaplen]) +AT_KEYWORDS([mirror mirrors mirroring]) +OVS_VSWITCHD_START +add_of_ports br0 1 2 3 +ovs-vsctl \ +set Bridge br0 mirrors=@m --\ +--id=@p3 get Port p3 --\ +--id=@m create Mirror name=mymirror select_all=true output_port=@p3 snaplen=100 + +AT_DATA([flows.txt], [dnl +in_port=1 actions=output:2 +in_port=2 actions=output:1 +]) +AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) + +flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)" +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "$flow"], [0], [stdout]) +AT_CHECK_UNQUOTED([tail -1 stdout], [0], + [Datapath actions: trunc(100),3,2 +]) + +ovs-vsctl set mirror mymirror snaplen=77 + +flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)" +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "$flow"], [0], [stdout]) +AT_CHECK_UNQUOTED([tail -1 stdout], [0], + [Datapath actions: trunc(77),3,1 +]) + +ovs-vsctl set mirror mymirror snaplen=65535 + +flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)" +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "$flow"], [0], [stdout]) +AT_CHECK_UNQUOTED([tail -1 stdout], [0], + [Datapath actions: 3,1 +]) + +OVS_VSWITCHD_STOP +AT_CLEANUP + AT_SETUP([ofproto-dpif - mirroring, select_src with snaplen]) AT_KEYWORDS([mirror mirrors mirroring]) OVS_VSWITCHD_START -- 1.9.1 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev