File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -750,6 +750,10 @@ def get_packet_delta(pkt_defn, packet):
750
750
packet_states [pkt_defn .name ]['dntoeu' ] = {}
751
751
dntoeus = {f .name : getattr (ait_pkt , f .name ) for f in pkt_defn .fields if f .dntoeu is not None }
752
752
753
+ # get derivations
754
+ packet_states [pkt_defn .name ]['raw' ].update ({f .name : getattr (ait_pkt .raw , f .name ) for f in pkt_defn .derivations })
755
+ delta .update ({f .name : getattr (ait_pkt .raw , f .name ) for f in pkt_defn .derivations })
756
+
753
757
# previous packets of this type received
754
758
else :
755
759
delta , dntoeus = {}, {}
@@ -767,6 +771,14 @@ def get_packet_delta(pkt_defn, packet):
767
771
dntoeus [field .name ] = dntoeu_val
768
772
packet_states [pkt_defn .name ]['dntoeu' ][field .name ] = dntoeu_val
769
773
774
+ for field in pkt_defn .derivations :
775
+ new_value = getattr (ait_pkt .raw , field .name )
776
+ last_value = packet_states [pkt_defn .name ]['raw' ][field .name ]
777
+
778
+ if new_value != last_value :
779
+ delta [field .name ] = new_value
780
+ packet_states [pkt_defn .name ]['raw' ][field .name ] = new_value
781
+
770
782
return delta , dntoeus
771
783
772
784
You can’t perform that action at this time.
0 commit comments