netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Eric Dumazet <edumazet@google.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, netdev <netdev@vger.kernel.org>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	virtualization@lists.linux-foundation.org
Subject: Re: [PATCH net] virtio_net: Do not pull payload in skb->head
Date: Sun, 11 Apr 2021 23:23:29 -0700	[thread overview]
Message-ID: <20210412062329.GA50510@roeck-us.net> (raw)
In-Reply-To: <CANn89i+g2uiYNUCvXH4YKQqPeSw+Ad4n6_=r3DBZTdHS8hBkMQ@mail.gmail.com>

Hi Eric,

On Mon, Apr 12, 2021 at 07:53:43AM +0200, Eric Dumazet wrote:
> On Mon, Apr 12, 2021 at 7:48 AM Eric Dumazet <edumazet@google.com> wrote:
> >
> 
> > give a verdict.
> >
> > Please post the whole strace output.
> >
> > Thanks.
> 
> Also please add -tt option to strace so that we have an idea of time
> delays just in case.
> 

The exact command as executed is:

strace -tt -o /tmp/STRACE -f -s 1000 udhcpc -n -q

Log is below. This is the complete log: nothing was truncated, neither
at the beginning nor at the end. The log ends with sendto().

Hope this helps,

Guenter

---
148   00:01:14.802467 execve("/sbin/udhcpc", ["udhcpc", "-n", "-q"], 0x7bbbbe10 /* 11 vars */) = 0
148   00:01:14.804496 set_tid_address(0x295faf94) = 148
148   00:01:14.805081 brk(NULL)         = 0x4c0000
148   00:01:14.805495 brk(0x4c2000)     = 0x4c2000
148   00:01:14.805998 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
148   00:01:14.806750 mprotect(0x295f8000, 4096, PROT_READ) = 0
148   00:01:14.807524 mprotect(0x4be000, 4096, PROT_READ) = 0
148   00:01:14.808169 getuid32()        = 0
148   00:01:14.808670 open("/dev/null", O_RDWR|O_LARGEFILE) = 3
148   00:01:14.809415 close(3)          = 0
148   00:01:14.809886 pipe([3, 0])      = 3
148   00:01:14.810373 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
148   00:01:14.810827 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
148   00:01:14.811274 fcntl64(3, F_GETFL) = 0 (flags O_RDONLY)
148   00:01:14.811703 fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0
148   00:01:14.812156 fcntl64(4, F_GETFL) = 0x1 (flags O_WRONLY)
148   00:01:14.812602 fcntl64(4, F_SETFL, O_WRONLY|O_NONBLOCK|O_LARGEFILE) = 0
148   00:01:14.813088 rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
148   00:01:14.813648 rt_sigaction(SIGUSR1, {sa_handler=0x4328b0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x295b6a2a}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
148   00:01:14.814381 rt_sigaction(SIGUSR2, {sa_handler=0x4328b0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x295b6a2a}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
148   00:01:14.815106 rt_sigaction(SIGTERM, {sa_handler=0x4328b0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x295b6a2a}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
148   00:01:14.815910 socket(AF_INET, SOCK_RAW, IPPROTO_RAW) = 5
148   00:01:14.816484 ioctl(5, SIOCGIFINDEX, {ifr_name="eth0", }) = 0
148   00:01:14.817111 ioctl(5, SIOCGIFHWADDR, {ifr_name="eth0", ifr_hwaddr={sa_family=ARPHRD_ETHER, sa_data=52:54:00:12:34:56}}) = 0
148   00:01:14.818042 close(5)          = 0
148   00:01:14.818660 write(2, "udhcpc: started, v1.33.0\n", 25) = 25
148   00:01:14.819387 clock_gettime64(CLOCK_MONOTONIC, {tv_sec=74, tv_nsec=819590988}) = 0
148   00:01:14.820117 vfork( <unfinished ...>
149   00:01:14.820652 execve("/usr/share/udhcpc/default.script", ["/usr/share/udhcpc/default.script", "deconfig"], 0x295fbfb0 /* 12 vars */ <unfinished ...>
148   00:01:14.821800 <... vfork resumed>) = 149
148   00:01:14.822606 wait4(149,  <unfinished ...>
149   00:01:14.823007 <... execve resumed>) = 0
149   00:01:14.823559 set_tid_address(0x295faf94) = 149
149   00:01:14.824135 brk(NULL)         = 0x4c0000
149   00:01:14.824568 brk(0x4c2000)     = 0x4c2000
149   00:01:14.824983 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
149   00:01:14.825728 mprotect(0x295f8000, 4096, PROT_READ) = 0
149   00:01:14.826526 mprotect(0x4be000, 4096, PROT_READ) = 0
149   00:01:14.827180 getuid32()        = 0
149   00:01:14.827748 getpid()          = 149
149   00:01:14.828221 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295ea000
149   00:01:14.828963 rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
149   00:01:14.829549 rt_sigaction(SIGCHLD, {sa_handler=0x4379f4, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
149   00:01:14.830347 getppid()         = 148
149   00:01:14.830837 uname({sysname="Linux", nodename="buildroot", ...}) = 0
149   00:01:14.831484 statx(AT_FDCWD, "/tmp", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=STATX_ATTR_MOUNT_ROOT, stx_mode=S_IFDIR|S_ISVTX|0777, stx_size=140, ...}) = 0
149   00:01:14.832588 statx(AT_FDCWD, ".", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=STATX_ATTR_MOUNT_ROOT, stx_mode=S_IFDIR|S_ISVTX|0777, stx_size=140, ...}) = 0
149   00:01:14.833685 open("/usr/share/udhcpc/default.script", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
149   00:01:14.834370 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
149   00:01:14.834866 fcntl64(3, F_DUPFD_CLOEXEC, 10) = 10
149   00:01:14.835292 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
149   00:01:14.835741 close(3)          = 0
149   00:01:14.836188 rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
149   00:01:14.836753 rt_sigaction(SIGINT, {sa_handler=0x4379f4, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
149   00:01:14.837374 rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
149   00:01:14.837985 rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
149   00:01:14.838602 rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
149   00:01:14.839200 read(10, "#!/bin/sh\n\n# udhcpc script edited by Tim Riker <Tim@Rikers.org>\n\n[ -z \"$1\" ] && echo \"Error: should be called from udhcpc\" && exit 1\n\nRESOLV_CONF=\"/etc/resolv.conf\"\n[ -e $RESOLV_CONF ] || touch $RESOLV_CONF\n[ -n \"$broadcast\" ] && BROADCAST=\"broadcast $broadcast\"\n[ -n \"$subnet\" ] && NETMASK=\"netmask $subnet\"\n# Handle stateful DHCPv6 like DHCPv4\n[ -n \"$ipv6\" ] && ip=\"$ipv6/128\"\n\nif [ -z \"${IF_WAIT_DELAY}\" ]; then\n\tIF_WAIT_DELAY=10\nfi\n\nwait_for_ipv6_default_route() {\n\tprintf \"Waiting for IPv6 default route to appear\"\n\twhile [ $IF_WAIT_DELAY -gt 0 ]; do\n\t\tif ip -6 route list | grep -q default; then\n\t\t\tprintf \"\\n\"\n\t\t\treturn\n\t\tfi\n\t\tsleep 1\n\t\tprintf \".\"\n\t\t: $((IF_WAIT_DELAY -= 1))\n\tdone\n\tprintf \" timeout!\\n\"\n}\n\ncase \"$1\" in\n\tdeconfig)\n\t\t/sbin/ifconfig $interface up\n\t\t/sbin/ifconfig $interface 0.0.0.0\n\n\t\t# drop info from this interface\n\t\t# resolv.conf may be a symlink to /tmp/, so take care\n\t\tTMPFILE=$(mktemp)\n\t\tgrep -vE \"# $interface\\$\" $RESOLV_CONF > $TMPFILE\n\t\tcat $TMPFILE > $RESOLV_CONF\n\t\t"..., 1023) = 1023
149   00:01:14.840495 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295eb000
149   00:01:14.841488 statx(AT_FDCWD, "/etc/resolv.conf", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=27, ...}) = 0
149   00:01:14.845240 read(10, "-x /usr/sbin/avahi-autoipd ]; then\n\t\t\t/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface\n\t\tfi\n\t\t;;\n\n\tleasefail|nak)\n\t\tif [ -x /usr/sbin/avahi-autoipd ]; then\n\t\t\t/usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot\n\t\tfi\n\t\t;;\n\n\trenew|bound)\n\t\tif [ -x /usr/sbin/avahi-autoipd ]; then\n\t\t\t/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface\n\t\tfi\n\t\t/sbin/ifconfig $interface $ip $BROADCAST $NETMASK\n\t\tif [ -n \"$ipv6\" ] ; then\n\t\t\twait_for_ipv6_default_route\n\t\tfi\n\n\t\t# RFC3442: If the DHCP server returns both a Classless\n\t\t# Static Routes option and a Router option, the DHCP\n\t\t# client MUST ignore the Router option.\n\t\tif [ -n \"$staticroutes\" ]; then\n\t\t\techo \"deleting routers\"\n\t\t\troute -n | while read dest gw mask flags metric ref use iface; do\n\t\t\t\t[ \"$iface\" != \"$interface\" -o \"$gw\" = \"0.0.0.0\" ] || \\\n\t\t\t\t\troute del -net \"$dest\" netmask \"$mask\" gw \"$gw\" dev \"$interface\"\n\t\t\tdone\n\n\t\t\t# format: dest1/mask gw1"..., 1023) = 1023
149   00:01:14.847204 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295ec000
149   00:01:14.848965 read(10, "set -- $staticroutes\n\t\t\twhile [ -n \"$1\" -a -n \"$2\" ]; do\n\t\t\t\troute add -net \"$1\" gw \"$2\" dev \"$interface\"\n\t\t\t\tshift 2\n\t\t\tdone\n\t\telif [ -n \"$router\" ] ; then\n\t\t\techo \"deleting routers\"\n\t\t\twhile route del default gw 0.0.0.0 dev $interface 2> /dev/null; do\n\t\t\t\t:\n\t\t\tdone\n\n\t\t\tfor i in $router ; do\n\t\t\t\troute add default gw $i dev $interface\n\t\t\tdone\n\t\tfi\n\n\t\t# drop info from this interface\n\t\t# resolv.conf may be a symlink to /tmp/, so take care\n\t\tTMPFILE=$(mktemp)\n\t\tgrep -vE \"# $interface\\$\" $RESOLV_CONF > $TMPFILE\n\t\tcat $TMPFILE > $RESOLV_CONF\n\t\trm -f $TMPFILE\n\n\t\t# prefer rfc3397 domain search list (option 119) if available\n\t\tif [ -n \"$search\" ]; then\n\t\t\tsearch_list=$search\n\t\telif [ -n \"$domain\" ]; then\n\t\t\tsearch_list=$domain\n\t\tfi\n\n\t\t[ -n \"$search_list\" ] &&\n\t\t\techo \"search $search_list # $interface\" >> $RESOLV_CONF\n\n\t\tfor i in $dns ; do\n\t\t\techo adding dns $i\n\t\t\techo \"nameserver $i # $interface\" >> $RESOLV_CONF\n\t\tdone\n\t\t;;\nesac\n\nHOOK_DIR=\"$0.d\"\nfor hook in \"${HOOK_DIR}/\"*; do\n    [ -f \"${hook"..., 1023) = 1023
149   00:01:14.850631 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295ed000
149   00:01:14.852772 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
149   00:01:14.853427 rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0
149   00:01:14.854067 fork()            = 150
149   00:01:14.854756 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
149   00:01:14.855340 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
149   00:01:14.855911 wait4(-1,  <unfinished ...>
150   00:01:14.856325 gettid()          = 150
150   00:01:14.856883 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
150   00:01:14.857476 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
150   00:01:14.858144 close(10)         = 0
150   00:01:14.858604 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
150   00:01:14.859379 execve("/sbin/ifconfig", ["/sbin/ifconfig", "eth0", "up"], 0x295eda04 /* 12 vars */) = 0
150   00:01:14.862391 set_tid_address(0x295faf94) = 150
150   00:01:14.863655 brk(NULL)         = 0x4c0000
150   00:01:14.864532 brk(0x4c2000)     = 0x4c2000
150   00:01:14.865440 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
150   00:01:14.867189 mprotect(0x295f8000, 4096, PROT_READ) = 0
150   00:01:14.869004 mprotect(0x4be000, 4096, PROT_READ) = 0
150   00:01:14.870087 getuid32()        = 0
150   00:01:14.870621 socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
150   00:01:14.871171 ioctl(3, SIOCGIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0
150   00:01:14.871909 ioctl(3, SIOCSIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0
150   00:01:14.872659 exit_group(0)     = ?
150   00:01:14.873240 +++ exited with 0 +++
149   00:01:14.873549 <... wait4 resumed>[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 150
149   00:01:14.874007 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=150, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
149   00:01:14.874460 sigreturn()       = 150
149   00:01:14.874828 wait4(-1, 0x7b8b8964, WNOHANG, NULL) = -1 ECHILD (No child process)
149   00:01:14.875593 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
149   00:01:14.876216 rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0
149   00:01:14.876812 fork()            = 151
149   00:01:14.877442 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
149   00:01:14.878210 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
151   00:01:14.878585 gettid( <unfinished ...>
149   00:01:14.878827 <... rt_sigprocmask resumed>NULL, 8) = 0
151   00:01:14.879189 <... gettid resumed>) = 151
149   00:01:14.879636 wait4(-1,  <unfinished ...>
151   00:01:14.879908 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
151   00:01:14.880474 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
151   00:01:14.881077 close(10)         = 0
151   00:01:14.881578 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
151   00:01:14.882387 execve("/sbin/ifconfig", ["/sbin/ifconfig", "eth0", "0.0.0.0"], 0x295eda04 /* 12 vars */) = 0
151   00:01:14.884044 set_tid_address(0x295faf94) = 151
151   00:01:14.884600 brk(NULL)         = 0x4c0000
151   00:01:14.884991 brk(0x4c2000)     = 0x4c2000
151   00:01:14.885424 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
151   00:01:14.886221 mprotect(0x295f8000, 4096, PROT_READ) = 0
151   00:01:14.886999 mprotect(0x4be000, 4096, PROT_READ) = 0
151   00:01:14.887634 getuid32()        = 0
151   00:01:14.888176 socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
151   00:01:14.888763 ioctl(3, SIOCSIFADDR, {ifr_name="eth0", ifr_addr={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}}) = 0
151   00:01:14.890126 ioctl(3, SIOCGIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0
151   00:01:14.890830 ioctl(3, SIOCSIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0
151   00:01:14.891587 exit_group(0)     = ?
151   00:01:14.892248 +++ exited with 0 +++
149   00:01:14.892437 <... wait4 resumed>[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 151
149   00:01:14.892855 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=151, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
149   00:01:14.893283 sigreturn()       = 151
149   00:01:14.893676 wait4(-1, 0x7b8b8964, WNOHANG, NULL) = -1 ECHILD (No child process)
149   00:01:14.894402 pipe([3, 0])      = 3
149   00:01:14.894941 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
149   00:01:14.895579 rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0
149   00:01:14.896185 fork()            = 152
149   00:01:14.896824 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
149   00:01:14.897379 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
149   00:01:14.898012 close(4)          = 0
149   00:01:14.898493 read(3,  <unfinished ...>
152   00:01:14.898909 gettid()          = 152
152   00:01:14.899453 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
152   00:01:14.900073 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
152   00:01:14.900694 close(10)         = 0
152   00:01:14.901215 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
152   00:01:14.901947 close(3)          = 0
152   00:01:14.902386 dup2(4, 1)        = 1
152   00:01:14.902828 close(4)          = 0
152   00:01:14.903493 statx(AT_FDCWD, "/sbin/mktemp", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b867c) = -1 ENOENT (No such file or directory)
152   00:01:14.904350 statx(AT_FDCWD, "/usr/sbin/mktemp", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b867c) = -1 ENOENT (No such file or directory)
152   00:01:14.905219 statx(AT_FDCWD, "/bin/mktemp", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|S_ISUID|0755, stx_size=719260, ...}) = 0
152   00:01:14.906411 execve("/bin/mktemp", ["mktemp"], 0x295ed9e4 /* 12 vars */) = 0
152   00:01:14.908077 set_tid_address(0x295faf94) = 152
152   00:01:14.908657 brk(NULL)         = 0x4c0000
152   00:01:14.909091 brk(0x4c2000)     = 0x4c2000
152   00:01:14.909509 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
152   00:01:14.910324 mprotect(0x295f8000, 4096, PROT_READ) = 0
152   00:01:14.911111 mprotect(0x4be000, 4096, PROT_READ) = 0
152   00:01:14.911775 getuid32()        = 0
152   00:01:14.912527 clock_gettime64(CLOCK_REALTIME, {tv_sec=74, tv_nsec=912746788}) = 0
152   00:01:14.913100 open("/tmp/tmp.kJfCJh", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 3
152   00:01:14.913909 ioctl(1, _IOC(_IOC_READ, 0x74, 0x68, 0x8), 0x7ba83d58) = -1 ENOTTY (Not a tty)
152   00:01:14.914501 writev(1, [{iov_base="/tmp/tmp.kJfCJh", iov_len=15}, {iov_base="\n", iov_len=1}], 2) = 16
149   00:01:14.915257 <... read resumed>"/tmp/tmp.kJfCJh\n", 128) = 16
152   00:01:14.915787 exit_group(0 <unfinished ...>
149   00:01:14.916074 read(3,  <unfinished ...>
152   00:01:14.916360 <... exit_group resumed>) = ?
152   00:01:14.916808 +++ exited with 0 +++
149   00:01:14.916995 <... read resumed>"", 128) = 0
149   00:01:14.917317 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=152, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
149   00:01:14.917754 sigreturn()       = 0
149   00:01:14.918225 close(3)          = 0
149   00:01:14.918716 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 152
149   00:01:14.919344 wait4(-1, 0x7b8b887c, WNOHANG, NULL) = -1 ECHILD (No child process)
149   00:01:14.920220 open("/tmp/tmp.kJfCJh", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
149   00:01:14.921007 fcntl64(1, F_DUPFD_CLOEXEC, 10) = 11
149   00:01:14.921455 fcntl64(11, F_SETFD, FD_CLOEXEC) = 0
149   00:01:14.921995 dup2(3, 1)        = 1
149   00:01:14.922436 close(3)          = 0
149   00:01:14.922910 statx(AT_FDCWD, "/sbin/grep", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b8868) = -1 ENOENT (No such file or directory)
149   00:01:14.923774 statx(AT_FDCWD, "/usr/sbin/grep", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b8868) = -1 ENOENT (No such file or directory)
149   00:01:14.924634 statx(AT_FDCWD, "/bin/grep", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|S_ISUID|0755, stx_size=719260, ...}) = 0
149   00:01:14.925771 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
149   00:01:14.926468 rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0
149   00:01:14.927060 fork()            = 153
149   00:01:14.927718 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
149   00:01:14.928310 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
149   00:01:14.928897 wait4(-1,  <unfinished ...>
153   00:01:14.929332 gettid()          = 153
153   00:01:14.929944 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
153   00:01:14.930555 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
153   00:01:14.931195 close(10)         = 0
153   00:01:14.931657 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
153   00:01:14.932491 execve("/bin/grep", ["grep", "-vE", "# eth0$", "/etc/resolv.conf"], 0x295eda3c /* 12 vars */) = 0
153   00:01:14.934241 set_tid_address(0x295faf94) = 153
153   00:01:14.934826 brk(NULL)         = 0x4c0000
153   00:01:14.935235 brk(0x4c2000)     = 0x4c2000
153   00:01:14.935675 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
153   00:01:14.936442 mprotect(0x295f8000, 4096, PROT_READ) = 0
153   00:01:14.937215 mprotect(0x4be000, 4096, PROT_READ) = 0
153   00:01:14.937884 getuid32()        = 0
153   00:01:14.938548 open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 3
153   00:01:14.939278 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295ea000
153   00:01:14.939984 read(3, "nameserver 10.0.2.3 # eth0\n", 1024) = 27
153   00:01:14.940648 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295eb000
153   00:01:14.941526 munmap(0x295eb000, 8192) = 0
153   00:01:14.942271 read(3, "", 1024) = 0
153   00:01:14.942796 close(3)          = 0
153   00:01:14.943267 munmap(0x295ea000, 4096) = 0
153   00:01:14.943777 exit_group(1)     = ?
153   00:01:14.944421 +++ exited with 1 +++
149   00:01:14.944623 <... wait4 resumed>[{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 153
149   00:01:14.945037 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=153, si_uid=0, si_status=1, si_utime=0, si_stime=0} ---
149   00:01:14.945505 sigreturn()       = 153
149   00:01:14.945946 wait4(-1, 0x7b8b89bc, WNOHANG, NULL) = -1 ECHILD (No child process)
149   00:01:14.946566 dup2(11, 1)       = 1
149   00:01:14.947085 close(11)         = 0
149   00:01:14.947752 open("/etc/resolv.conf", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
149   00:01:14.948764 fcntl64(1, F_DUPFD_CLOEXEC, 10) = 11
149   00:01:14.949223 fcntl64(11, F_SETFD, FD_CLOEXEC) = 0
149   00:01:14.949681 dup2(3, 1)        = 1
149   00:01:14.950166 close(3)          = 0
149   00:01:14.950615 statx(AT_FDCWD, "/sbin/cat", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b8894) = -1 ENOENT (No such file or directory)
149   00:01:14.951450 statx(AT_FDCWD, "/usr/sbin/cat", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b8894) = -1 ENOENT (No such file or directory)
149   00:01:14.952318 statx(AT_FDCWD, "/bin/cat", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|S_ISUID|0755, stx_size=719260, ...}) = 0
149   00:01:14.953416 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
149   00:01:14.954072 rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0
149   00:01:14.954710 fork()            = 154
149   00:01:14.955371 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
149   00:01:14.955915 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
149   00:01:14.956480 wait4(-1,  <unfinished ...>
154   00:01:14.956911 gettid()          = 154
154   00:01:14.957469 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
154   00:01:14.958107 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
154   00:01:14.958726 close(10)         = 0
154   00:01:14.959220 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
154   00:01:14.960010 execve("/bin/cat", ["cat", "/tmp/tmp.kJfCJh"], 0x295eda0c /* 12 vars */) = 0
154   00:01:14.961650 set_tid_address(0x295faf94) = 154
154   00:01:14.962260 brk(NULL)         = 0x4c0000
154   00:01:14.962677 brk(0x4c2000)     = 0x4c2000
154   00:01:14.963093 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
154   00:01:14.963855 mprotect(0x295f8000, 4096, PROT_READ) = 0
154   00:01:14.964649 mprotect(0x4be000, 4096, PROT_READ) = 0
154   00:01:14.965332 getuid32()        = 0
154   00:01:14.965963 open("/tmp/tmp.kJfCJh", O_RDONLY|O_LARGEFILE) = 3
154   00:01:14.966693 sendfile64(1, 3, NULL, 16777216) = 0
154   00:01:14.967225 close(3)          = 0
154   00:01:14.967771 exit_group(0)     = ?
154   00:01:14.968431 +++ exited with 0 +++
149   00:01:14.968637 <... wait4 resumed>[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 154
149   00:01:14.969062 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=154, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
149   00:01:14.969524 sigreturn()       = 154
149   00:01:14.970021 wait4(-1, 0x7b8b89e8, WNOHANG, NULL) = -1 ECHILD (No child process)
149   00:01:14.970630 dup2(11, 1)       = 1
149   00:01:14.971135 close(11)         = 0
149   00:01:14.971803 statx(AT_FDCWD, "/sbin/rm", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b88c0) = -1 ENOENT (No such file or directory)
149   00:01:14.972693 statx(AT_FDCWD, "/usr/sbin/rm", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b88c0) = -1 ENOENT (No such file or directory)
149   00:01:14.973506 statx(AT_FDCWD, "/bin/rm", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|S_ISUID|0755, stx_size=719260, ...}) = 0
149   00:01:14.974668 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
149   00:01:14.975332 rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0
149   00:01:14.975936 fork()            = 155
149   00:01:14.976585 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
149   00:01:14.977166 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
149   00:01:14.977733 wait4(-1,  <unfinished ...>
155   00:01:14.978296 gettid()          = 155
155   00:01:14.978860 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0
155   00:01:14.979466 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
155   00:01:14.980076 close(10)         = 0
155   00:01:14.980557 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x295b6a2a}, NULL, 8) = 0
155   00:01:14.981350 execve("/bin/rm", ["rm", "-f", "/tmp/tmp.kJfCJh"], 0x295eda04 /* 12 vars */) = 0
155   00:01:14.983082 set_tid_address(0x295faf94) = 155
155   00:01:14.983662 brk(NULL)         = 0x4c0000
155   00:01:14.984120 brk(0x4c2000)     = 0x4c2000
155   00:01:14.984536 mmap2(0x4c0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c0000
155   00:01:14.985336 mprotect(0x295f8000, 4096, PROT_READ) = 0
155   00:01:14.986187 mprotect(0x4be000, 4096, PROT_READ) = 0
155   00:01:14.986851 getuid32()        = 0
155   00:01:14.987464 statx(AT_FDCWD, "/tmp/tmp.kJfCJh", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0600, stx_size=0, ...}) = 0
155   00:01:14.988583 unlink("/tmp/tmp.kJfCJh") = 0
155   00:01:14.989318 exit_group(0)     = ?
155   00:01:14.989984 +++ exited with 0 +++
149   00:01:14.990176 <... wait4 resumed>[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 155
149   00:01:14.990593 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=155, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
149   00:01:14.991041 sigreturn()       = 155
149   00:01:14.991439 wait4(-1, 0x7b8b8a14, WNOHANG, NULL) = -1 ECHILD (No child process)
149   00:01:14.992291 statx(AT_FDCWD, "/usr/sbin/avahi-autoipd", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b87c0) = -1 ENOENT (No such file or directory)
149   00:01:14.993194 munmap(0x295ed000, 4096) = 0
149   00:01:14.993755 munmap(0x295ec000, 4096) = 0
149   00:01:14.994865 read(10, " continue\n    \"${hook}\" \"${@}\"\ndone\n\nexit 0\n", 1023) = 44
149   00:01:14.995743 mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295ec000
149   00:01:14.996482 open("/usr/share/udhcpc/default.script.d/", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
149   00:01:14.997188 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
149   00:01:14.997687 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x295f0000
149   00:01:14.998402 getdents64(3, 0x295f0088 /* 2 entries */, 2048) = 48
149   00:01:14.999027 getdents64(3, 0x295f0088 /* 0 entries */, 2048) = 0
149   00:01:14.999576 close(3)          = 0
149   00:01:15.000076 munmap(0x295f0000, 8192) = 0
149   00:01:15.000603 munmap(0x295ec000, 16384) = 0
149   00:01:15.001370 statx(AT_FDCWD, "/usr/share/udhcpc/default.script.d/*", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b87d0) = -1 ENOENT (No such file or directory)
149   00:01:15.002240 statx(AT_FDCWD, "/usr/share/udhcpc/default.script.d/*", AT_STATX_SYNC_AS_STAT, STATX_BASIC_STATS, 0x7b8b87bc) = -1 ENOENT (No such file or directory)
149   00:01:15.003345 exit_group(0)     = ?
149   00:01:15.003998 +++ exited with 0 +++
148   00:01:15.004204 <... wait4 resumed>[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 149
148   00:01:15.004606 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=149, si_uid=0, si_status=0, si_utime=0, si_stime=2} ---
148   00:01:15.005134 socket(AF_PACKET, SOCK_DGRAM, htons(ETH_P_IP)) = 5
148   00:01:15.005673 bind(5, {sa_family=AF_PACKET, sll_protocol=htons(ETH_P_IP), sll_ifindex=if_nametoindex("eth0"), sll_hatype=ARPHRD_NETROM, sll_pkttype=PACKET_HOST, sll_halen=0}, 20) = 0
148   00:01:15.006493 setsockopt(5, SOL_PACKET, PACKET_AUXDATA, [1], 4) = 0
148   00:01:15.007093 fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
148   00:01:15.007594 socket(AF_INET, SOCK_RAW, IPPROTO_RAW) = 6
148   00:01:15.008067 ioctl(6, SIOCGIFINDEX, {ifr_name="eth0", }) = 0
148   00:01:15.008670 ioctl(6, SIOCGIFHWADDR, {ifr_name="eth0", ifr_hwaddr={sa_family=ARPHRD_ETHER, sa_data=52:54:00:12:34:56}}) = 0
148   00:01:15.009520 close(6)          = 0
148   00:01:15.010058 clock_gettime64(CLOCK_MONOTONIC, {tv_sec=75, tv_nsec=10264188}) = 0
148   00:01:15.010691 write(2, "udhcpc: sending discover\n", 25) = 25
148   00:01:15.011397 socket(AF_PACKET, SOCK_DGRAM, htons(ETH_P_IP)) = 6
148   00:01:15.011946 bind(6, {sa_family=AF_PACKET, sll_protocol=htons(ETH_P_IP), sll_ifindex=if_nametoindex("eth0"), sll_hatype=ARPHRD_NETROM, sll_pkttype=PACKET_HOST, sll_halen=6, sll_addr=[0xff, 0xff, 0xff, 0xff, 0xff, 0xff]}, 20) = 0
148   00:01:15.012830 sendto(6, "E\0\1H\0\0\0\0@\21y\246\0\0\0\0\377\377\377\377\0D\0C\0014!~\1\1\6\0\272\352\336g\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0RT\0\0224V\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0c\202Sc5\1\1=\7\1RT\0\0224V9\2\2@7\7\1\3\6\f\17\34*<\fudhcp 1.33.0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 328, 0, {sa_family=AF_PACKET, sll_protocol=htons(ETH_P_IP), sll_ifindex=if_nametoindex("eth0"), sll_hatype=ARPHRD_NETROM, sll_pkttype=PACKET_HOST, sll_halen=6, sll_addr=[0xff, 0xff, 0xff, 0xff, 0xff, 0xff]}, 20

  reply	other threads:[~2021-04-12  6:23 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-02 13:26 [PATCH net] virtio_net: Do not pull payload in skb->head Eric Dumazet
2021-04-06  2:03 ` Jason Wang
2021-04-07 18:09 ` Michael S. Tsirkin
2021-04-11 13:43 ` Guenter Roeck
2021-04-11 15:06   ` Eric Dumazet
2021-04-11 20:37     ` Guenter Roeck
2021-04-11 21:23       ` Eric Dumazet
2021-04-11 21:32         ` Guenter Roeck
2021-04-11 21:43           ` Eric Dumazet
2021-04-11 22:07             ` Guenter Roeck
2021-04-12  5:48               ` Eric Dumazet
2021-04-12  5:53                 ` Eric Dumazet
2021-04-12  6:23                   ` Guenter Roeck [this message]
2021-04-12  6:37                     ` Eric Dumazet
2021-04-11 22:20             ` Guenter Roeck

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=20210412062329.GA50510@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=eric.dumazet@gmail.com \
    --cc=jasowang@redhat.com \
    --cc=kuba@kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xuanzhuo@linux.alibaba.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).