On Thu, 2022-09-08 at 12:47 +0100, Simon Kelley wrote: > CAUTION: This email originated from outside of the organization. Do > not click links or open attachments unless you recognize the sender > and know the content is safe. > > > On 07/09/2022 10:10, Luis Thomas wrote: > > On Tue, 2022-09-06 at 13:24 +0100, Simon Kelley wrote: > > > > CAUTION: This email originated from outside of the > > > > organization. Do > > > > > not click links or open attachments unless you recognize the > > > > sender > and know the content is safe. > > > > > > > > > > > > On 02/09/2022 14:03, Luis Thomas wrote: > > > > > > Hi everyone, > > > > > > > > > > > > We are using both dnsmasq and isc dhcrelay as dhcp-relays > > > > > > for > > > > > > > > dhcpv6 > > > > > > only. > > > > > > > > > > > > we launch dnsmasq like this: > > > > > > > > > > > > dnsmasq -d \ > > > > > > --conf-file=/dev/null \ > > > > > > --dhcp-relay > > > > > > fd12:3456::b6e3:f9ff:fea5:fa5b,2020:abcd::1 > > > > > > \ > > > > > > --except-interface=lo \ > > > > > > --interface=tun0,eno2 \ > > > > > > --port 0 > > > > > > > > > > > > and isc dhcrelay like this: > > > > > > > > > > > > dhcrelay -d -6 -l tun0 -u 2020:abcd::1%eno2 --no-pid > > > > > > > > > > > > tun0 address is fd12:3456::b6e3:f9ff:fea5:fa5b. > > > > > > eno2 address is 2020:abcd::2. > > > > > > > > > > > > With dnsmasq the source address of the relay-forward > > > > > > packets is > > > > > > the > > > > > > address of tun0. > > > > > > With dhcrelay the source address of the relay-forward > > > > > > packets > > > > > > is > > the > > > > > > address of eno2. > > > > > > > > > > > > We don't really understand why it so on dnsmasq (or > > > > > > dhcrelay > > > > > > for > > that > > > > > > matter), could someone explain it to us ? RFC 3315 section > > > > > > 20. > > > > > > > > Relay > > > > > > Agent Behavior says nothing about the source address. > > > > > > > > > > > > In our use case it makes more sense that the source address > > > > > > of > > > > > > the > > > > > > relay-forward packet is the address of eno2 since it's the > > > > > > outbound > > > > > > interface (and the one that will receive the replies). > > > > > > > > > > > > Nevertheless the attached patch fixes this issue as it sets > > > > > > the > > > > > > > > source > > > > > > address of relay-forward packets to be the address of the > > > > > > "upper" > > > > > > interface. > > > > > > > > > > > > We've also attached two filtered pcap files of a wireshark > > > > > > capture > > > > > > showing the difference before and after the patch on the > > > > > > machine > > > > > > hosting the dhcp server and the machine hosting the > > > > > > dhcp_relay. > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > Hmm, > > > > > > > > Looking at the code, I obviously intended the current > > > > behaviour: > > > > > there's > > > > a comment to that effect /* source address == relay address */ > > > > and > > > > > the > > > > code goes to the effort of setting up the source address and > > > > calling > > > > send_from() which supplies that to the kernel. > > > > > > > > The question, therefore, is why? I think this probably a carry- > > > > over > > > > > from > > > > DHCPv4, where the "giaddr" field is overloaded to specify the > > > > subnet > on > > > > which the client resides, and the global address of the relay. > > > > It's > > > > > also > > > > the case that a configured V4 client communicates directly with > > > > the > > > > server, bypassing the relay , so the server has to have a route > > > > to > > > > > the > > > > client-side subnet of the relay in all cases. > > > > > > > > DHCPv6 is not the same: the relay is always involved in client- > > > > server > > > > communication; it's actually a proxy, not a relay, so the need > > > > for > > > > > the > > > > server to have a route to the client-side is no longer there > > > > and it > > > > makes more sense for the server to use the server-side address > > > > to > > > > > return > > > > messages to the client. > > > > > > > > You're right that RFC3315 is silent on this, and so is RFC8415, > > > > as > > > > > far > > > > as I can see. Googling did find > > > > https://urldefense.com/v3/__https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/release/16-8/configuration_guide/sec/b_168_sec_9500_cg/b_168_sec_9500_cg_chapter_0101000.pdf__;!!N30Cs7Jr!Q421ImOmP1QY1W0cGWn4UubtRyenNYwk6XaKoLPqef5zUZZiyFVzXHQzLE8-W4aNa410kA0i5iyv98b0mTv_hA$ > > > > and > > > > https://urldefense.com/v3/__https://techhub.hpe.com/eginfolib/networking/docs/switches/5710/5200-4993_l3-ip-svcs_cr/content/517706420.htm__;!!N30Cs7Jr!Q421ImOmP1QY1W0cGWn4UubtRyenNYwk6XaKoLPqef5zUZZiyFVzXHQzLE8-W4aNa410kA0i5iyv98YVw3DtJQ$ > > > > both of which state that the default is the server-side > > > > interface > > > > address. Of course, the behaviour of ISC code is a strong push > > > > in > > > > the > > > > same direction. > > > > > > > > > > > > TLDR; I think the behaviour change you want is correct. I > > > > understand > why > > > > the patch you submitted went for minimal-change, but I'd like > > > > to go > > > > > for > > > > maximum-simplification instead, removing the calculation of the > > > > > > > > > address > > > > on "from" and the call to send_from(). I will push that in the > > > > next > > > > > day > > > > or two. > > > > > > > > > > > > Cheers. > > > > > > > > Simon. > > > > > > > > > > > > > > _______________________________________________ > > > > > > Dnsmasq-discuss mailing list > > > > > > Dnsmasq-discuss@lists.thekelleys.org.uk > > > > > > https://urldefense.com/v3/__https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss__;!!N30Cs7Jr!Q421ImOmP1QY1W0cGWn4UubtRyenNYwk6XaKoLPqef5zUZZiyFVzXHQzLE8-W4aNa410kA0i5iyv98aWSitojA$ > > > > > > > > _______________________________________________ > > > > Dnsmasq-discuss mailing list > > > > Dnsmasq-discuss@lists.thekelleys.org.uk > > > > https://urldefense.com/v3/__https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss__;!!N30Cs7Jr!Q421ImOmP1QY1W0cGWn4UubtRyenNYwk6XaKoLPqef5zUZZiyFVzXHQzLE8-W4aNa410kA0i5iyv98aWSitojA$ > > > > > > Hi Simon, > > > > Thank you for your explanations, we'll gladly test your changes > > once > > they're pushed. > > They're there now.
Perfect and we've tested them, they are working as expected, thank you Simon. Luis > > > > > On a completely different note, do you have an idea on when 2.87 > > will > > be released ? > > I just started the release-candidate process, so pretty soon. > > > Simon. > > > > > Cheers, > > > > Luis > > > > _______________________________________________ > Dnsmasq-discuss mailing list > Dnsmasq-discuss@lists.thekelleys.org.uk > https://urldefense.com/v3/__https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss__;!!N30Cs7Jr!QbtK3zxqBCxruq2xA8PTg4QA3LYeiK-g1_FPBkajDEJzTRRADQX_WuYzRDdQxvzk7wYmjyF4ndzrZOOQsddZUQ$ _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss