On Mon, Jun 27, 2016 at 6:27 PM, 严海双 <yanhaishu...@cmss.chinamobile.com> wrote: > > On Jun 28, 2016, at 12:10 AM, Jesse Gross <je...@kernel.org> wrote: > > On Sun, Jun 26, 2016 at 6:13 PM, Haishuang Yan > <yanhaishu...@cmss.chinamobile.com> wrote: > > > On Jun 26, 2016, at 8:35 PM, zhuyj <zyjzyj2...@gmail.com> wrote: > > + if (geneve->remote.sa.sa_family == AF_INET) > + max_mtu -= sizeof(struct iphdr); > + else > + max_mtu -= sizeof(struct ipv6hdr); > > Sorry, if sa_family is not AF_NET, it is AF_INET6? > > There is a lot of macros in include/linux/socket.h. > > Zhu Yanjun > > > There are only two enumerations AF_INET and AF_INET6 have been assigned in > geneve_newlink: > > > There's actually a third possibility: AF_UNSPEC, which is the default > if neither remote type is specified. This is used by lightweight > tunnels and should be able to work with either IPv4/v6. For the > purposes of the MTU calculation this means that the IPv4 header size > should be used to avoid disallowing potentially valid configurations. > > > Yes, you’re right. Thanks for you advise. I will send a v2 commit like this: > > if (geneve->remote.sa.sa_family == AF_INET6) > max_mtu -= sizeof(struct ipv6hdr); > else > max_mtu -= sizeof(struct iphdr); > > Is this ok?
Yes, that looks fine to me.