func (rule L4Rule) GetProtocolPortKeys(cookie keyvalue.Cookie, trafficType kernel.TrafficType, action interface{}) []*keyvalue.KeyValue {
	rep := []*keyvalue.KeyValue{}
	for _, p := range rule.ProtocolPorts {
		rep = append(
			rep,
			&keyvalue.KeyValue{
				Key: &keyvalue.ProtocolPortKey{
					TrafficType: trafficType,
					Cookie:      cookie,
					Protocol:    uint16(kernel.ProfileInputToTransportProtocol(p.Protocol)),
					Port:        uint16(p.Port),
				},
				Value: action,
			},
		)
	}
	return rep
}
// GetProtocolPortKeys - Returns the protocol-port keys for this rule
Returns the protocol-port keys for this rule
// GetProtocolPortKeys - Returns the protocol - port keys for this rule
func (rule L4Rule) GetProtocolPortKeys(cookie keyvalue.Cookie, trafficType kernel.TrafficType, action interface{}) []*keyvalue.KeyValue {
	rep := []*keyvalue.KeyValue{}
	for _, p := range rule.ProtocolPorts {
		rep = append(
			rep,
			&keyvalue.KeyValue{
				Key: &keyvalue.ProtocolPortKey{
					TrafficType: trafficType,
					Cookie:      cookie,
					Protocol:    uint16(kernel.ProfileInputToTransportProtocol(p.Protocol)),
					Port:        uint16(p.Port),
				},
				Value: action,
			},
		)
	}
	return rep
}
func ( rule L4Rule ) GetProtocolPortKeys ( cookie keyvalue . Cookie , trafficType kernel . TrafficType , action interface { } ) [ ] * keyvalue . KeyValue { rep := [ ] * keyvalue . KeyValue { } for _ , p := range rule . ProtocolPorts { rep = append ( rep , & keyvalue . KeyValue { Key : & keyvalue . ProtocolPortKey { TrafficType : trafficType , Cookie : cookie , Protocol : uint16 ( kernel . ProfileInputToTransportProtocol ( p . Protocol ) ) , Port : uint16 ( p . Port ) , } , Value : action , } , ) } return rep }
Returns the protocol-port keys for this rule
Returns the protocol - port keys for this rule