On 2023/05/11 5:56, Ilya Maximets wrote: > On 5/9/23 11:37, Nobuhiro MIKI wrote: >> For tunnels such as SRv6, some popular vendor appliances support >> IPv6 flowlabel based load balancing. In preparation for OVS to >> support it, this patch modifies the encapsulation to allow IPv6 >> flowlabel to be configured. >> >> Signed-off-by: Nobuhiro MIKI <[email protected]> >> --- >> lib/netdev-native-tnl.c | 14 ++++++++------ >> lib/netdev-native-tnl.h | 2 +- >> 2 files changed, 9 insertions(+), 7 deletions(-) >> >> diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c >> index 9abdf51076a8..55e1bd567fa1 100644 >> --- a/lib/netdev-native-tnl.c >> +++ b/lib/netdev-native-tnl.c >> @@ -35,6 +35,7 @@ >> #include "byte-order.h" >> #include "csum.h" >> #include "dp-packet.h" >> +#include "flow.h" >> #include "netdev.h" >> #include "netdev-vport.h" >> #include "netdev-vport-private.h" >> @@ -276,7 +277,7 @@ eth_build_header(struct ovs_action_push_tnl *data, >> void * >> netdev_tnl_ip_build_header(struct ovs_action_push_tnl *data, >> const struct netdev_tnl_build_header_params >> *params, >> - uint8_t next_proto) >> + uint8_t next_proto, uint32_t ipv6_label) >> { >> void *l3; >> >> @@ -308,7 +309,8 @@ netdev_tnl_ip_build_header(struct ovs_action_push_tnl >> *data, >> ip6 = (struct ovs_16aligned_ip6_hdr *) l3; >> >> put_16aligned_be32(&ip6->ip6_flow, htonl(6 << 28) | >> - htonl(params->flow->tunnel.ip_tos << 20)); >> + htonl(params->flow->tunnel.ip_tos << 20) | >> + htonl(ipv6_label & 0xfffff)); > > IPV6_LABEL_MASK should be used instead. Also, it's a bit strange to > pass areound the lable in the host order. Having it in ovs_be32 > will likely be more intuitive. > > But see the comments for the second patch.
Hi Ilya, Thanks for your review. I'll replace 0xfffff with IPV6_LABEL_MASK and fix the byte order. Based on the comments on the second patch, this code will be moved to netdev_tnl_push_ip_header(). Best Regards, Nobuhiro MIKI _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
