Closed hesingh closed 1 year ago
This sounds like the kind of detail, amongst hundreds of others, that people would tend to implement using slow path general purpose CPU software to implement, with just enough logic in the fast path to decide that the received packets were not handled in the fast path, and punted to the CPU (typically an on-ASIC CPU for modern NICs, perhaps an ARM core), and the software running on that CPU would be responsible for responding.
Control protocols like RA are typically very low packet rates, and thus fine for software on a CPU to handle.
OK. This is a reference to look at too, does dhcp snooping on nic.
https://ethernitynet.com/cornerstones/router-on-nic/
Also see, https://www.rfc-editor.org/rfc/rfc7084
There are probably hundreds of RFCs and IETF standards that one might want to implement in a NIC. There is no reason for PNA or PSA to list them all. That is a job for people developing products to write the correct software, P4 and control plane and otherwise, to implement, if they wish to implement those standards.
If an RFC is especially relevant to something that we want to implement in PSA or PNA, then it might make sense to list, e.g. how 2-rate or 3-rate policers work, or how IPsec encryption/decryption work, but only because those are especially relevant to the fast path implementation.
I agree that right now crypto is the only feature one can think of for data plane. But let's mull over few rfcs and see if anything is missed. I volunteer to read the IPv6 Node Requirements doc and get back.
There is a single IPv6 rfc that will help.
https://datatracker.ietf.org/doc/html/rfc8504
However at the time of writing the above doc, another rfc was missed. It is:
I looked at rfc8504 and did not find anything as a MUST requirement for data plane.
See
https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml#link-local
The nic could send out an RA message, as specified in rfc4861, to a link-local multicast address. If the nic has two network ports the RA could need replication to both ports. To snoop dhcpv6, listening on dhcpv6 link-local multicast address in required. Should we get to this level of detail in the spec? If IPv6 is supported by the nic, it is mandatory to support rfc4861 and rfc4862.