func (packet *Packet) SetTXIPv4UDPOLFlags(l2len, l3len uint32) {
	low.SetTXIPv4UDPOLFlags(packet.CMbuf, l2len, l3len)
}
SetTXIPv4UDPOLFlags sets mbuf flags for IPv4 and UDP headers
checksum calculation hardware offloading.
package packet
import (
	"unsafe"
	"github.com/intel-go/nff-go/internal/low"
	. "github.com/intel-go/nff-go/types"
)
func (packet *Packet) SetHWCksumOLFlags() {
	ipv4, ipv6, _ := packet.ParseAllKnownL3CheckVLAN()
	l2len := uint32(EtherLen)
	if SwapBytesUint16(packet.Ether.EtherType) == VLANNumber {
		l2len += VLANLen
	}
	if ipv4 != nil {
		packet.GetIPv4NoCheck().HdrChecksum = 0
		tcp, udp, _ := packet.ParseAllKnownL4ForIPv4()
		if tcp != nil {
			low.SetTXIPv4TCPOLFlags(packet.CMbuf, l2len, IPv4MinLen)
		} else if udp != nil {
			low.SetTXIPv4UDPOLFlags(packet.CMbuf, l2len, IPv4MinLen)
		} else {
			low.SetTXIPv4OLFlags(packet.CMbuf, l2len, IPv4MinLen)
		}
	} else if ipv6 != nil {
		tcp, udp, _ := packet.ParseAllKnownL4ForIPv6()
		if tcp != nil {
			low.SetTXIPv6TCPOLFlags(packet.CMbuf, l2len, IPv6Len)
		} else if udp != nil {
			low.SetTXIPv6UDPOLFlags(packet.CMbuf, l2len, IPv6Len)
		}
	}
}
func (packet *Packet) SetTXIPv4OLFlags(l2len, l3len uint32) {
	low.SetTXIPv4OLFlags(packet.CMbuf, l2len, l3len)
}