From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Tiago Lam <tiago.lam@intel.com>, dev@dpdk.org, linville@tuxdriver.com
Subject: Re: [PATCH v2 3/3] net/af_packet: get 'framesz' from the iface's MTU
Date: Tue, 27 Nov 2018 17:43:00 +0000 [thread overview]
Message-ID: <59e1bdba-331b-e337-56e7-dc4f52057d56@intel.com> (raw)
In-Reply-To: <1542709592-215007-3-git-send-email-tiago.lam@intel.com>
On 11/20/2018 10:26 AM, Tiago Lam wrote:
> Use the underlying MTU to calculate the framsize to be used for the mmap
> RINGs. This is to make it more flexible on deployments with different
> MTU requirements, instead of using a pre-defined value of 2048B.
This behavior change should be documented in af_packet documentation which is
missing unfortunately.
Would you able to introduce the initial/basic af_packet doc to at least to
document device argument? If not please let me know, I can work on it.
>
> If a 'framsz' option is provided, that value is used instead and the MTU
> of the underlying interface is ignored.
>
> Signed-off-by: Tiago Lam <tiago.lam@intel.com>
> ---
>
> v2: Fix checkpatches.sh and check-git-log.sh warnings.
<...>
> @@ -877,17 +877,40 @@ rte_eth_from_packet(struct rte_vdev_device *dev,
> }
>
> ifnamelen = strlen(ifname);
> - if (ifnamelen >= sizeof(ifr.ifr_name)) {
> + if (ifnamelen < sizeof(ifr.ifr_name)) {
> + memcpy(ifr.ifr_name, ifname, ifnamelen);
> + ifr.ifr_name[ifnamelen] = '\0';
This can be replaces with strlcpy().
> + } else {
> RTE_LOG(ERR, PMD,
> "%s: I/F name too long (%s)\n",
> name, ifname);
> return -1;
> }
>
> + /*
> + * Base framesize on the MTU of the underlying interface, if no
> + * 'framesz' option is given
> + */
> + if (!framesize) {
> + if (ioctl(*sockfd, SIOCGIFMTU, &ifr) == -1) {
> + RTE_LOG(ERR, PMD,
> + "%s: ioctl failed (SIOCGIFMTU)",
> + name);
> + framesize = DFLT_FRAME_SIZE;
It may be good to add a log to say default frame size will be used, and perhaps
print out the default value.
next prev parent reply other threads:[~2018-11-27 17:43 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-20 9:54 [PATCH 1/3] net/af_packet: set_mtu() decrements sockaddr twice Tiago Lam
2018-11-20 9:54 ` [PATCH 2/3] net/af_packet: Move parse and validation of iface Tiago Lam
2018-11-20 9:54 ` [PATCH 3/3] net/af_packet: Get 'framesz' from the iface's MTU Tiago Lam
2018-11-20 10:26 ` [PATCH v2 1/3] net/af_packet: set_mtu() decrements sockaddr twice Tiago Lam
2018-11-20 10:26 ` [PATCH v2 2/3] net/af_packet: move parse and validation of iface Tiago Lam
2018-11-27 17:42 ` Ferruh Yigit
2018-11-20 10:26 ` [PATCH v2 3/3] net/af_packet: get 'framesz' from the iface's MTU Tiago Lam
2018-11-27 17:43 ` Ferruh Yigit [this message]
2018-11-27 17:45 ` Ferruh Yigit
2018-11-28 13:12 ` Lam, Tiago
2018-11-28 13:33 ` Ferruh Yigit
2018-12-17 9:21 ` Lam, Tiago
2018-12-21 12:21 ` Ferruh Yigit
2019-02-18 18:01 ` Yigit, Ferruh
2019-03-19 13:16 ` Yigit, Ferruh
2018-11-20 10:29 ` [PATCH v2 1/3] net/af_packet: set_mtu() decrements sockaddr twice Kevin Traynor
2018-11-20 10:45 ` Lam, Tiago
2018-11-27 17:42 ` Ferruh Yigit
2018-12-21 12:29 ` Ferruh Yigit
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=59e1bdba-331b-e337-56e7-dc4f52057d56@intel.com \
--to=ferruh.yigit@intel.com \
--cc=dev@dpdk.org \
--cc=linville@tuxdriver.com \
--cc=tiago.lam@intel.com \
/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.