Hello Jiri: Thank your for reporting the issue and for submitting a patch. After digging a bit some additional nuances were found, so while your patch was inspirational some additional changes were needed. The submitted patch corrects the case when -l and -u are the same value but does not correct the problem of -u given before -l. The latter arises from the fact the dhcrelay's internal list of interfaces ends up in the reverse order of how they are given on the command line; combined with the v6 interface registration logic registering only the first interface. Thus when -l is last on the command line, it becomes the first one in the list of interfaces and hence is the interface that gets registered. Since the logic to set the hop limit count was being done during interface registration, it remained unset for the upper interface. Secondly, the code when it did set the hop limit count, did so irrespective of the upstream address. Per the RFC it should set it only if the upstream address is a multicast address. We moved the logic to set the hop limit count to its own function and now call that function from setup_streams() for the upstream interface only if the upstream address is a multicast address. This fix will be in 4.3.2, 4.2.4, and 4.1-ESV-R11, due to be released next month. Again, accept our thanks for your ongoing interest and contributions. Sincerely, Thomas Markwalder ISC Software Engineering