8.3.2.54. v4.7.13ΒΆ

commit f53cdb3e5aa03a4f6cf0f485e9c70569fe5adfcd
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Nov 29 09:54:03 2021 -0600

    perf(contentLoad): More content load optimizations

    * We do not need to individually rerender everything when processing
    content changes, since it will be caught at the end when everything
    gets rerendered anyways.

    * Improve object equality checking during content load.
    reflect.DeepEqual cares about extra details we do not during the
    content load process, so add our own equality checker that ignores
    extra details we will either not care about or fix after the fact.

    * Skip rerendering everything if there wind up being no differences we
    care about between old and new content.

    * Switch to using a map for dynamic template ownership tracking from a
    slice.  The map is slightly more efficient when there are tens to
    hundreds of thousands of entries in it.

    The only real content update that can cause a false object inequality
    check (and therefore an unneeded rerender of everything) involves
    secure params, but its impact is minimal after these changes.

M   backend/bootenv.go
M   backend/fs.go
M   backend/machines.go
M   backend/profiles.go
M   backend/utils.go
M   mr/modelReflect.go

commit 66692d0d47af614915c0df3415af3c36c4bac9fb
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Nov 24 12:56:07 2021 -0600

    fix(dhcp): Have DHCP responses come from a known IP.

    We need to make sure that DHCP responses come back from the same IP
    address they were recieved on unless there is a good reason not to.
    This changes up how we were handling DHCP control messages to ensure
    that we pick the address a DHCP response is sent from instead of the
    kernel wherever feasible.

    While we are at it, un-break the DHCP unit tests, updated the p[acket
    logging format to emit and be able to parse information regarding the
    IP address information of the recieving interface, and add a unit
    tests to check the IP address picking methods.

M   backend/dataTracker.go
M   ipcache/conncache.go
M   ipcache/conncache_test.go
M   midlayer/dhcp-tests/0000-basic-ipxe-discover/0000.response-expect
M   midlayer/dhcp-tests/0000-basic-ipxe-discover/0001.logs-expect
M   midlayer/dhcp-tests/0000-basic-ipxe-discover/0001.response-expect
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.response-expect
M   midlayer/dhcp-tests/0000-basic-uefi-discover/0000.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0000.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0001.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0002.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0003.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0004.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0005.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0007.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0013.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0015.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0016.response-expect
M   midlayer/dhcp-tests/0002-proxy-pxe-discover/0000.response-expect
M   midlayer/dhcp-tests/0002-proxy-uefi-discover/0000.response-expect
M   midlayer/dhcp-tests/0002-proxy-uefi-discover/0001.response-expect
M   midlayer/dhcp-tests/0003-apple-nbsp-select/0000.response-expect
M   midlayer/dhcp-tests/0003-apple-nbsp-select/0001.response-expect
M   midlayer/dhcp-tests/0003-ipxe-uefi-discover/0000.response-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0000.response-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0001.response-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0002.response-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0003.response-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0004.response-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0005.response-expect
M   midlayer/dhcp.go
M   midlayer/dhcpUtil.go
M   midlayer/dhcp_test.go

End of Note