All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rocco Yue <rocco.yue@mediatek.com>
To: Greg KH <gregkh@linuxfoundation.org>, David Ahern <dsahern@gmail.com>
Cc: "David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
	David Ahern <dsahern@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Felix Fietkau <nbd@nbd.name>, John Crispin <john@phrozen.org>,
	Sean Wang <sean.wang@mediatek.com>,
	Mark Lee <Mark-MC.Lee@mediatek.com>, <netdev@vger.kernel.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>, <bpf@vger.kernel.org>,
	<wsd_upstream@mediatek.com>, <chao.song@mediatek.com>,
	<kuohong.wang@mediatek.com>, Rocco Yue <rocco.yue@mediatek.com>
Subject: Re: [PATCH 1/4] net: if_arp: add ARPHRD_PUREIP type
Date: Thu, 24 Jun 2021 14:13:10 +0800	[thread overview]
Message-ID: <20210624061310.12315-1-rocco.yue@mediatek.com> (raw)
In-Reply-To: <YNQYHfE09Dx5kWyg@kroah.com>

On Thu, 2021-06-24 at 07:29 +0200, Greg KH wrote:
> 
> Thanks for the explaination, why is this hardware somehow "special" in
> this way that this has never been needed before?
> 
> thanks,
> 
> greg k-h
> 

Before kernel-4.18, RAWIP was the same as PUREIP, neither of them
automatically generates an IPv6 link-local address, and the way to
generate an IPv6 global address is the same.

After kernel-4.18 (include 4.18 version), the behavior of RAWIP had
changed due to the following patch:
@@  static int ipv6_generate_eui64(u8 *eui, struct net_device *dev)
+	case ARPHRD_RAWIP:
+		return addrconf_ifid_rawip(eui, dev);
 	}
 	return -1;
}

the reason why the kernel doesn't need to generate the link-local
address automatically is as follows:

In the 3GPP 29.061, here is some description as follows:
"in order to avoid any conflict between the link-local address of
MS and that of the GGSN, the Interface-Identifier used by the MS to
build its link-local address shall be assigned by the GGSN. The GGSN
ensures the uniqueness of this Interface-Identifier. Then MT shall
then enforce the use of this Interface-Identifier by the TE"

In other words, in the cellular network, GGSN determines whether to
reply to the Router Solicitation message of UE by identifying the
low 64bits of UE interface's ipv6 link-local address.

When using a new kernel and RAWIP, kernel will generate an EUI64
format ipv6 link-local address, and if the device uses this address
to send RS, GGSN will not reply RA message.

Therefore, in that background, we came up with PUREIP to make kernel
doesn't generate a ipv6 link-local address in any address generate
mode.

Thanks,
Rocco


WARNING: multiple messages have this Message-ID (diff)
From: Rocco Yue <rocco.yue@mediatek.com>
To: Greg KH <gregkh@linuxfoundation.org>, David Ahern <dsahern@gmail.com>
Cc: "David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
	David Ahern <dsahern@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Felix Fietkau <nbd@nbd.name>, John Crispin <john@phrozen.org>,
	Sean Wang <sean.wang@mediatek.com>,
	Mark Lee <Mark-MC.Lee@mediatek.com>, <netdev@vger.kernel.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,  <bpf@vger.kernel.org>,
	<wsd_upstream@mediatek.com>, <chao.song@mediatek.com>,
	 <kuohong.wang@mediatek.com>, Rocco Yue <rocco.yue@mediatek.com>
Subject: Re: [PATCH 1/4] net: if_arp: add ARPHRD_PUREIP type
Date: Thu, 24 Jun 2021 14:13:10 +0800	[thread overview]
Message-ID: <20210624061310.12315-1-rocco.yue@mediatek.com> (raw)
In-Reply-To: <YNQYHfE09Dx5kWyg@kroah.com>

On Thu, 2021-06-24 at 07:29 +0200, Greg KH wrote:
> 
> Thanks for the explaination, why is this hardware somehow "special" in
> this way that this has never been needed before?
> 
> thanks,
> 
> greg k-h
> 

Before kernel-4.18, RAWIP was the same as PUREIP, neither of them
automatically generates an IPv6 link-local address, and the way to
generate an IPv6 global address is the same.

After kernel-4.18 (include 4.18 version), the behavior of RAWIP had
changed due to the following patch:
@@  static int ipv6_generate_eui64(u8 *eui, struct net_device *dev)
+	case ARPHRD_RAWIP:
+		return addrconf_ifid_rawip(eui, dev);
 	}
 	return -1;
}

the reason why the kernel doesn't need to generate the link-local
address automatically is as follows:

In the 3GPP 29.061, here is some description as follows:
"in order to avoid any conflict between the link-local address of
MS and that of the GGSN, the Interface-Identifier used by the MS to
build its link-local address shall be assigned by the GGSN. The GGSN
ensures the uniqueness of this Interface-Identifier. Then MT shall
then enforce the use of this Interface-Identifier by the TE"

In other words, in the cellular network, GGSN determines whether to
reply to the Router Solicitation message of UE by identifying the
low 64bits of UE interface's ipv6 link-local address.

When using a new kernel and RAWIP, kernel will generate an EUI64
format ipv6 link-local address, and if the device uses this address
to send RS, GGSN will not reply RA message.

Therefore, in that background, we came up with PUREIP to make kernel
doesn't generate a ipv6 link-local address in any address generate
mode.

Thanks,
Rocco
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Rocco Yue <rocco.yue@mediatek.com>
To: Greg KH <gregkh@linuxfoundation.org>, David Ahern <dsahern@gmail.com>
Cc: "David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
	David Ahern <dsahern@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Felix Fietkau <nbd@nbd.name>, John Crispin <john@phrozen.org>,
	Sean Wang <sean.wang@mediatek.com>,
	Mark Lee <Mark-MC.Lee@mediatek.com>, <netdev@vger.kernel.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,  <bpf@vger.kernel.org>,
	<wsd_upstream@mediatek.com>, <chao.song@mediatek.com>,
	 <kuohong.wang@mediatek.com>, Rocco Yue <rocco.yue@mediatek.com>
Subject: Re: [PATCH 1/4] net: if_arp: add ARPHRD_PUREIP type
Date: Thu, 24 Jun 2021 14:13:10 +0800	[thread overview]
Message-ID: <20210624061310.12315-1-rocco.yue@mediatek.com> (raw)
In-Reply-To: <YNQYHfE09Dx5kWyg@kroah.com>

On Thu, 2021-06-24 at 07:29 +0200, Greg KH wrote:
> 
> Thanks for the explaination, why is this hardware somehow "special" in
> this way that this has never been needed before?
> 
> thanks,
> 
> greg k-h
> 

Before kernel-4.18, RAWIP was the same as PUREIP, neither of them
automatically generates an IPv6 link-local address, and the way to
generate an IPv6 global address is the same.

After kernel-4.18 (include 4.18 version), the behavior of RAWIP had
changed due to the following patch:
@@  static int ipv6_generate_eui64(u8 *eui, struct net_device *dev)
+	case ARPHRD_RAWIP:
+		return addrconf_ifid_rawip(eui, dev);
 	}
 	return -1;
}

the reason why the kernel doesn't need to generate the link-local
address automatically is as follows:

In the 3GPP 29.061, here is some description as follows:
"in order to avoid any conflict between the link-local address of
MS and that of the GGSN, the Interface-Identifier used by the MS to
build its link-local address shall be assigned by the GGSN. The GGSN
ensures the uniqueness of this Interface-Identifier. Then MT shall
then enforce the use of this Interface-Identifier by the TE"

In other words, in the cellular network, GGSN determines whether to
reply to the Router Solicitation message of UE by identifying the
low 64bits of UE interface's ipv6 link-local address.

When using a new kernel and RAWIP, kernel will generate an EUI64
format ipv6 link-local address, and if the device uses this address
to send RS, GGSN will not reply RA message.

Therefore, in that background, we came up with PUREIP to make kernel
doesn't generate a ipv6 link-local address in any address generate
mode.

Thanks,
Rocco
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-06-24  6:28 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-23 11:34 [PATCH 1/4] net: if_arp: add ARPHRD_PUREIP type Rocco Yue
2021-06-23 11:34 ` Rocco Yue
2021-06-23 11:34 ` Rocco Yue
2021-06-23 11:34 ` [PATCH 2/4] net: ipv6: don't generate link local address on PUREIP device Rocco Yue
2021-06-23 11:34   ` Rocco Yue
2021-06-23 11:34   ` Rocco Yue
2021-06-23 11:34 ` [PATCH 3/4] net: dev_is_mac_header_xmit() return false for ARPHRD_PUREIP Rocco Yue
2021-06-23 11:34   ` Rocco Yue
2021-06-23 11:34   ` Rocco Yue
2021-06-23 11:34 ` [PATCH 4/4] drivers: net: mediatek: initial implementation of ccmni Rocco Yue
2021-06-23 11:34   ` Rocco Yue
2021-06-23 11:34   ` Rocco Yue
2021-06-23 17:25   ` Greg KH
2021-06-23 17:25     ` Greg KH
2021-06-23 17:25     ` Greg KH
2021-06-23 17:26   ` kernel test robot
2021-06-23 17:31   ` Greg KH
2021-06-23 17:31     ` Greg KH
2021-06-23 17:31     ` Greg KH
2021-06-24 11:53     ` [PATCH 1/4] net: if_arp: add ARPHRD_PUREIP type Rocco Yue
2021-06-24 11:53       ` Rocco Yue
2021-06-24 11:53       ` Rocco Yue
2021-06-24 12:23       ` Greg KH
2021-06-24 12:23         ` Greg KH
2021-06-24 12:23         ` Greg KH
2021-06-24 15:55         ` [PATCH 4/4] drivers: net: mediatek: initial implementation of ccmni Rocco Yue
2021-06-24 15:55           ` Rocco Yue
2021-06-24 15:55           ` Rocco Yue
2021-06-24 16:51           ` Greg KH
2021-06-24 16:51             ` Greg KH
2021-06-24 16:51             ` Greg KH
2021-06-28  7:18             ` Rocco Yue
2021-06-28  7:18               ` Rocco Yue
2021-06-28  7:18               ` Rocco Yue
2021-06-28  9:30               ` Greg KH
2021-06-28  9:30                 ` Greg KH
2021-06-28  9:30                 ` Greg KH
2021-06-23 17:19 ` [PATCH 1/4] net: if_arp: add ARPHRD_PUREIP type Greg KH
2021-06-23 17:19   ` Greg KH
2021-06-23 17:19   ` Greg KH
2021-06-24  3:33   ` Rocco Yue
2021-06-24  3:33     ` Rocco Yue
2021-06-24  3:33     ` Rocco Yue
2021-06-24  5:15     ` David Ahern
2021-06-24  5:15       ` David Ahern
2021-06-24  5:15       ` David Ahern
2021-06-24  5:31       ` Rocco Yue
2021-06-24  5:31         ` Rocco Yue
2021-06-24  5:31         ` Rocco Yue
2021-06-24  5:29     ` Greg KH
2021-06-24  5:29       ` Greg KH
2021-06-24  5:29       ` Greg KH
2021-06-24  6:13       ` Rocco Yue [this message]
2021-06-24  6:13         ` Rocco Yue
2021-06-24  6:13         ` Rocco Yue
2021-06-24  9:04         ` Greg KH
2021-06-24  9:04           ` Greg KH
2021-06-24  9:04           ` Greg KH
2021-06-24 12:24           ` Rocco Yue
2021-06-24 12:24             ` Rocco Yue
2021-06-24 12:24             ` Rocco Yue
2021-06-24 13:06             ` Greg KH
2021-06-24 13:06               ` Greg KH
2021-06-24 13:06               ` Greg KH
2021-06-25  6:01               ` Rocco Yue
2021-06-25  6:01                 ` Rocco Yue
2021-06-25  6:01                 ` Rocco Yue
2021-06-24 16:14         ` Dan Williams
2021-06-24 16:14           ` Dan Williams
2021-06-24 16:14           ` Dan Williams
2021-06-25  6:04           ` Rocco Yue
2021-06-25  6:04             ` Rocco Yue
2021-06-25  6:04             ` Rocco Yue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210624061310.12315-1-rocco.yue@mediatek.com \
    --to=rocco.yue@mediatek.com \
    --cc=Mark-MC.Lee@mediatek.com \
    --cc=bpf@vger.kernel.org \
    --cc=chao.song@mediatek.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=dsahern@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=john@phrozen.org \
    --cc=kuba@kernel.org \
    --cc=kuohong.wang@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=nbd@nbd.name \
    --cc=netdev@vger.kernel.org \
    --cc=sean.wang@mediatek.com \
    --cc=wsd_upstream@mediatek.com \
    --cc=yoshfuji@linux-ipv6.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.