[PATCH v3 1/1] dts: rework packet addressing
Jeremy Spewock
jspewock at iol.unh.edu
Thu Sep 26 19:02:32 CEST 2024
On Thu, Sep 26, 2024 at 8:31 AM Juraj Linkeš <juraj.linkes at pantheon.tech> wrote:
>
>
> > diff --git a/dts/framework/test_suite.py b/dts/framework/test_suite.py
>
> > + def _adjust_addresses(self, packets: list[Packet], expected: bool = False) -> list[Packet]:
> > + # The packet is routed from TG egress to TG ingress regardless of whether it is
> > + # expected or not.
> > + if ip_src_is_unset:
> > + l3_to_use.src = self._tg_ip_address_egress.ip.exploded
> > +
> > + if ip_dst_is_unset:
> > + l3_to_use.dst = self._tg_ip_address_ingress.ip.exploded
>
> So this is where l3_to_use also appears. This could also be in the same
> if branch, right? As you mentioned, ip_src_is_unset is only going to be
> true in that branch.
>
> Now that I look at it, we're mixing the update of l2 addresses (starting
> with pkt_src_is_unset = "src" not in packet.fields) with l3 addresses
> (starting with num_ip_layers right below that). We could first do l2
> addresses, then l3 addresses. And I don't think we even need the
> *_is_unset variables, they're only used once.
That is true, I can change it to work in this way instead.
>
> > + ret_packets.append(Ether(packet.build()))
> >
> > - return Ether(packet.build())
> > + return ret_packets
> >
> > def verify(self, condition: bool, failure_description: str) -> None:
> > """Verify `condition` and handle failures.
>
More information about the dev
mailing list