1. An apparatus, comprising:
a processor and a memory communicatively connected to the processor, the processor configured to:
determine a data flow definition for a data flow, wherein the data flow definition is based on one or more protocol header fields of one or more protocols, wherein the one or more protocols comprising one or more network layer protocols or one or more transport layer protocols;
determine one or more tunneling actions to be performed for the data flow, the one or more tunneling actions comprising at least one of an encapsulation action or a decapsulation action; and
propagate, toward a forwarding element, control information indicative of the data flow definition and the one or more tunneling actions.
2. The apparatus of claim 1, wherein the processor is configured to:
receive information associated with the data flow; and
determine, based on the information associated with the data flow, at least one of the data flow definition or the one or more tunneling actions.
3. The apparatus of claim 1, wherein the processor is configured to:
identify the forwarding element toward which the control information is propagated.
4. The apparatus of claim 1, wherein the one or more tunneling actions are configured for at least one of moving packets of the data flow into a tunnel, moving packets of the data flow between tunnels, or moving packets of the data flow out of a tunnel.
5. The apparatus of claim 1, wherein the one or more tunneling actions are configured for at least one of moving packets of the data flow from native forwarding infrastructure into a tunnel or moving packets from a tunnel to native forwarding infrastructure.
6. The apparatus of claim 1, wherein the one or more tunneling actions comprise an encapsulation action, wherein the control information comprises an indication of a protocol to be used to encapsulate packets of the data flow and an indication of at least one protocol header field to be used to encapsulate packets of the data flow.
7. The apparatus of claim 6, wherein the control information further comprises at least one protocol header field value to be set for the at least one protocol header field.
8. The apparatus of claim 6, wherein the control information further comprises at least one of an indication that computation of a packet checksum is to be performed or an indication that packet sequence numbers are to be added to packets of the data flow.
9. The apparatus of claim 1, the one or more tunneling actions comprise a decapsulation action, wherein the control information comprises an indication of a protocol from which packets of the data flow are to be decapsulated.
10. The apparatus of claim 9, wherein the control information further comprises at least one of an indication that verification of a packet checksum is to be performed or an indication that packet sequence numbers are to be verified.
11. The apparatus of claim 1, wherein the one or more protocols comprises a security protocol, wherein the control information further comprises security information for at least one of an encryption action or a decryption action.
12. A method, comprising:
using a processor for:
determining a data flow definition for a data flow, wherein the data flow definition is based on one or more protocol header fields of one or more protocols, wherein the one or more protocols comprising one or more network layer protocols or one or more transport layer protocols;
determining one or more tunneling actions to be performed for the data flow, the one or more tunneling actions comprising at least one of an encapsulation action or a decapsulation action; and
propagating, toward a forwarding element, control information indicative of the data flow definition and the one or more tunneling actions.
13. An apparatus, comprising:
a processor and a memory communicatively connected to the processor, the processor configured to:
receive, from a control element, control information comprising a data flow definition for a data flow and one or more tunneling actions to be performed for the data flow, wherein the data flow definition is based on one or more protocol header fields of one or more protocols, wherein the one or more protocols comprise one or more network layer protocols or one or more transport layer protocols, wherein the one or more tunneling actions comprise at least one of an encapsulation action or a decapsulation action; and
process a packet of the data flow based on the control information.
14. The apparatus of claim 13, wherein the processor is configured to process the packet of the data flow based on the control information by:
identifying the data flow with which the packet is associated based on information included within the packet and the data flow definition of the data flow;
identifying the one or more tunneling actions to be performed for the data flow based on a mapping of the data flow definition to the one or more tunneling actions; and
performing the one or more tunneling actions for the packet of the data flow.
15. The apparatus of claim 13, wherein the one or more tunneling actions are configured for at least one of moving packets of the data flow into a tunnel, moving packets of the data flow between tunnels, or moving packets of the data flow out of a tunnel.
16. The apparatus of claim 13, wherein the one or more tunneling actions are configured for at least one of moving packets of the data flow from native forwarding infrastructure into a tunnel or moving packets from a tunnel to native forwarding infrastructure.
17. The apparatus of claim 13, wherein the one or more tunneling actions comprise an encapsulation action, wherein the control information comprises an indication of a protocol to be used to encapsulate packets of the data flow and an indication of at least one protocol header field to be used to encapsulate packets of the data flow.
18. The apparatus of claim 17, wherein the control information further comprises at least one protocol header field value to be set for the at least one protocol header field.
19. The apparatus of claim 17, wherein the control information further comprises at least one of an indication that computation of a packet checksum is to be performed or an indication that packet sequence numbers are to be added to packets of the data flow.
20. The apparatus of claim 13, wherein the one or more tunneling actions comprise a decapsulation action, wherein the control information comprises an indication of a protocol from which packets of the data flow are to be decapsulated.
21. The apparatus of claim 20, wherein the control information comprises at least one of an indication that verification of a packet checksum is to be performed or an indication that packet sequence numbers are to be verified.
22. The apparatus of claim 13, wherein the one or more protocols comprises a security protocol, wherein the one or more tunneling actions comprise at least one of an encryption action or a decryption action.
23. A method, comprising:
using a processor for:
receiving, from a control element, control information comprising a data flow definition for a data flow and one or more tunneling actions to be performed for the data flow, wherein the data flow definition is based on one or more protocol header fields of one or more protocols, wherein the one or more protocols comprise one or more network layer protocols or one or more transport layer protocols, wherein the one or more tunneling actions comprise at least one of an encapsulation action or a decapsulation action; and
processing a packet of the data flow based on the control information.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method of operating a piezoelectric element comprising the steps of:
generating a first waveform from an input pulse, said waveform having measurable features;
measuring operating parameters of said piezoelectric element and comparing said operating parameters to target values for said operating parameters and to said measurable features of said waveform;
scaling said first waveform so that the features thereof more closely match said target values, producing a scaled output waveform; and
optionally, amplifying said scaled output waveform to provide a current of voltage level sufficient to drive said piezoelectric element.
2. The method of claim 1, wherein said measurable operating features of said waveform include frequency.
3. The method of claim 1, wherein said measured piezoelectric operating parameters include piezoelectric current.
4. The method of claim 1, wherein said target value comprises a target current value.
5. The method of claim 1, wherein the shape of the waveform is not modified by scaling.
6. The method of claim 1, wherein said scaling of said first waveform comprises using a scaling value to modify the amplitude of the first waveform.
7. The method of claim 6, wherein said scaling value is determined by dividing power input by operating frequency.
8. The method of claim 1, wherein software modules are used to scale the first waveform to generate a modified waveform.
9. The method of claim 1, wherein said scaled output waveform is digital and a digital analog (DA) converter is used to convert said scaled output waveform to an analog signal prior to amplifying said scaled output waveform.
10. A method of operating a piezoelectric element comprising the steps of:
generating a waveform having a frequency from an input pulse and measuring said frequency;
determining a scaling value by:
comparing said frequency of the waveform to a critical frequency value and if said measured frequency is less than said critical frequency value, not modifying the waveform;
if said frequency is greater than said critical frequency value, divide a current to said piezoelectric element by said waveform frequency to determine a reference value and comparing said reference value to a target value, if said reference value is equal to said target value, then proceed without modifying the waveform, if said reference value is greater than said target value, determine a scaling factor for use to decrease a feature of the waveform, and if said reference value is less than said target value, then determine a scaling value for use to increase a feature of the waveform; and
modifying said waveform by applying said scaling value to provide a scaled output waveform.
11. The method of claim 10, wherein modifying said waveform does not result in a modification of the shape of the waveform.
12. The method of claim 10, wherein software modules are used to scale the first waveform and to generate the scaled waveform.
13. The method of claim 10, wherein said scaled output waveform is digital and a digital analog (DA) converter is used to convert said scaled output waveform to an analog signal and optionally amplifying said scaled output waveform.
14. A piezoelectric element driver comprising:
a waveform generator configured to receive a digital input and produce a waveform output;
a scaling module configured to receive said waveform output and generate a scaled output waveform; and
a power amplifier configured to receive said scaled output waveform and generate an amplified waveform.
15. The driver of claim 14, wherein said scaling module is configured to receive information, and depending on said received information, optionally generating a scaling value for use in modifying said waveform.
16. The driver of claim 14, wherein received information comprises one or more operating parameters, said one or more operating parameters used to generate a scaling value.
17. The driver of claim 16, wherein said one or more operating perimeters include piezoelectric actuator temperature.
18. The driver of claim 15, wherein said scaling module is configured to divide piezoelectric power by operating frequency to generate a scaling value and then to compare said scaling value to a target value.
19. The driver of claim 15, wherein said scaling value is set to a constant value below a specified frequency.