[dpdk-dev] [PATCH v5 3/4] driver/i40e: implement tunnel filter for IP in GRE

Wu, Jingjing jingjing.wu at intel.com
Thu Feb 25 02:50:13 CET 2016


> @@ -5833,16 +5839,22 @@ i40e_dev_tunnel_filter_set(struct i40e_pf *pf,
>  	(void)rte_memcpy(&pfilter->inner_mac, &tunnel_filter->inner_mac,
>  			ETHER_ADDR_LEN);
> 
> -	pfilter->inner_vlan = tunnel_filter->inner_vlan;
> +	pfilter->inner_vlan = rte_cpu_to_le_16(tunnel_filter->inner_vlan);
>  	if (tunnel_filter->ip_type == RTE_TUNNEL_IPTYPE_IPV4) {
>  		ip_type = I40E_AQC_ADD_CLOUD_FLAGS_IPV4;
> +		tunnel_filter->ip_addr.ipv4_addr =
> +			rte_cpu_to_le_32(tunnel_filter->ip_addr.ipv4_addr);
>  		(void)rte_memcpy(&pfilter->ipaddr.v4.data,
> -				&tunnel_filter->ip_addr,
> +				&tunnel_filter->ip_addr.ipv4_addr,
>  				sizeof(pfilter->ipaddr.v4.data));
>  	} else {
>  		ip_type = I40E_AQC_ADD_CLOUD_FLAGS_IPV6;
> +		for (i = 0; i < 4; i++) {
> +			tunnel_filter->ip_addr.ipv6_addr[i] =
> +			rte_cpu_to_le_32(tunnel_filter-
> >ip_addr.ipv6_addr[i]);

You changed the value of in parameter.
It's better to use an internal variable to convert byte order.

Thanks
Jingjing
> 1.9.3



More information about the dev mailing list