X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fpunt.rst;h=868ac4194f5c8dfc7248d06fe86aeb327132be43;hp=3f1a9d4a844f118ccfb8fc4f0b0dba78eb5cf344;hb=f158944cc;hpb=64e978b1bf1f30672dd305e7c35fefc31887adf2 diff --git a/src/vnet/ip/punt.rst b/src/vnet/ip/punt.rst index 3f1a9d4a844..868ac4194f5 100644 --- a/src/vnet/ip/punt.rst +++ b/src/vnet/ip/punt.rst @@ -15,25 +15,25 @@ the system the opportunity to handle this packet. A popular meaning of punt is to send packets to the user/control-plane. This is specific option of the more general case above, where VPP is -handing the packet to the control-plane for further prosessing. +handing the packet to the control-plane for further processing. The Punt Infrastructure _______________________ Exception packets are those that a given node cannot handle via normal -mecahnisms. +mechanisms. Punting of exception packets is handled via the VLIB 'punt infra'. There are two types of nodes; sources and sinks. Sources -allocate a punt 'reason' from the infrastructre and load time. When -they encouter an exception during switch time it will tag the packet +allocate a punt 'reason' from the infrastructure and load time. When +they encounter an exception during switch time it will tag the packet with the reason and ship the packet of the the punt-dispatch node. A sink will register with the punt infra at load time so it can receive -packets that were punted for that reason. If no sinks are registerd +packets that were punted for that reason. If no sinks are registered for a given reason the packet is dropped, if multiple sinks register the packets are replicated. This mechanism allows us to extend the system to deal with packets -that the source node would otherise drop. +that the source node would otherwise drop. Punting to the Control Plane @@ -50,7 +50,7 @@ packets to be punted: 1) a matching UDP port 2) a matching IP protocol (i.e. OSPF) -3) a matching punt excpetion reason (see above) +3) a matching punt exception reason (see above) Depending on the type/classification of the packet to be punted, that active punt will register itself into the VLIB graph to receive those @@ -70,7 +70,7 @@ Passive Punt VPP input packet processing can be described as a series of classifiers. For example, a sequence of input classifications could be, is it IP? is it for-us? is it UDP? is it a known UDP-port? If at -some point in this pipline VPP has no further classifications to make, +some point in this pipeline VPP has no further classifications to make, then the packet can be punted, which means sent to ipX-punt node. This is described as passive since the control-plane is thus receiving every packet that VPP does not itself handle.