@@ -875,6 +875,85 @@ func TestClientOpenFlowDumpFlows(t *testing.T) {
875
875
cookie=0x0, duration=83229.846s, table=51, n_packets=3, n_bytes=234, priority=101,ct_state=+new+rel+trk,ip actions=ct(commit,table=65)
876
876
cookie=0x0, duration=1381314.983s, table=65, n_packets=0, n_bytes=0, priority=4040,ip,dl_dst=f1:f2:f3:f4:f5:f6,nw_src=169.254.169.254,nw_dst=169.254.0.0/16 actions=output:19
877
877
cookie=0x0, duration=13.265s, table=12, n_packets=0, n_bytes=0, idle_age=13, priority=4321,tcp,tcp_flags=+syn-psh+ack actions=resubmit(,13)
878
+ ` ,
879
+ want : []* Flow {
880
+ {
881
+ Priority : 820 ,
882
+ InPort : PortLOCAL ,
883
+ Matches : []Match {},
884
+ Table : 0 ,
885
+ Actions : []Action {
886
+ ModVLANVID (10 ),
887
+ Output (1 ),
888
+ },
889
+ },
890
+ {
891
+ Priority : 110 ,
892
+ Protocol : ProtocolIPv4 ,
893
+ Matches : []Match {
894
+ DataLinkSource ("f1:f2:f3:f4:f5:f6" ),
895
+ },
896
+ Table : 50 ,
897
+ Actions : []Action {
898
+ ConnectionTracking ("table=51" ),
899
+ },
900
+ },
901
+ {
902
+ Priority : 101 ,
903
+ Protocol : ProtocolIPv4 ,
904
+ Matches : []Match {
905
+ ConnectionTrackingState (
906
+ SetState (CTStateNew ),
907
+ SetState (CTStateRelated ),
908
+ SetState (CTStateTracked ),
909
+ ),
910
+ },
911
+ Table : 51 ,
912
+ Actions : []Action {
913
+ ConnectionTracking ("commit,table=65" ),
914
+ },
915
+ },
916
+ {
917
+ Priority : 4040 ,
918
+ Protocol : ProtocolIPv4 ,
919
+ Matches : []Match {
920
+ DataLinkDestination ("f1:f2:f3:f4:f5:f6" ),
921
+ NetworkSource ("169.254.169.254" ),
922
+ NetworkDestination ("169.254.0.0/16" ),
923
+ },
924
+ Table : 65 ,
925
+ Actions : []Action {
926
+ Output (19 ),
927
+ },
928
+ },
929
+ {
930
+ Priority : 4321 ,
931
+ Protocol : ProtocolTCPv4 ,
932
+ Matches : []Match {
933
+ TCPFlags (
934
+ SetTCPFlag (TCPFlagSYN ),
935
+ UnsetTCPFlag (TCPFlagPSH ),
936
+ SetTCPFlag (TCPFlagACK ),
937
+ ),
938
+ },
939
+ Table : 12 ,
940
+ Actions : []Action {
941
+ Resubmit (0 , 13 ),
942
+ },
943
+ },
944
+ },
945
+ err : nil ,
946
+ },
947
+ {
948
+ name : "test multiple flows mid dump NXST_FLOW" ,
949
+ input : "br0" ,
950
+ flows : `NXST_FLOW reply (xid=0x4): flags=[more]
951
+ cookie=0x0, duration=9215.748s, table=0, n_packets=6, n_bytes=480, idle_age=9206, priority=820,in_port=LOCAL actions=mod_vlan_vid:10,output:1
952
+ cookie=0x0, duration=1121991.329s, table=50, n_packets=0, n_bytes=0, priority=110,ip,dl_src=f1:f2:f3:f4:f5:f6 actions=ct(table=51)
953
+ NXST_FLOW reply (xid=0x4):
954
+ cookie=0x0, duration=83229.846s, table=51, n_packets=3, n_bytes=234, priority=101,ct_state=+new+rel+trk,ip actions=ct(commit,table=65)
955
+ cookie=0x0, duration=1381314.983s, table=65, n_packets=0, n_bytes=0, priority=4040,ip,dl_dst=f1:f2:f3:f4:f5:f6,nw_src=169.254.169.254,nw_dst=169.254.0.0/16 actions=output:19
956
+ cookie=0x0, duration=13.265s, table=12, n_packets=0, n_bytes=0, idle_age=13, priority=4321,tcp,tcp_flags=+syn-psh+ack actions=resubmit(,13)
878
957
` ,
879
958
want : []* Flow {
880
959
{
0 commit comments