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