On Wed, 2016-05-04 at 14:11 +0200, Eugene Crosser wrote: > /proc/net/igmp is a readonly attribute that shows multicast groups > to which different network interfaces are subscribed. Among other > things, it displays `multiaddr` which is a 32 bit network-byte-order > field, in hexadecimal format. Prior to this patch, the field was > displayed as an integer, resulting in reverse byte order on little > endian architectures. This patch converts it with ntohl() for display > the same way as this is done for the /proc/net/mcfilter attribute. > > The patch changes (corrects) user-visible behaviour. > > Signed-off-by: Eugene Crosser <[email protected]> > --- > net/ipv4/igmp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c > index b3086cf..f9d2139 100644 > --- a/net/ipv4/igmp.c > +++ b/net/ipv4/igmp.c > @@ -2722,7 +2722,7 @@ static int igmp_mc_seq_show(struct seq_file *seq, void > *v) > delta = im->timer.expires - jiffies; > seq_printf(seq, > "\t\t\t\t%08X %5d %d:%08lX\t\t%d\n", > - im->multiaddr, im->users, > + ntohl(im->multiaddr), im->users, > im->tm_running, > im->tm_running ? jiffies_delta_to_clock_t(delta) : 0, > im->reporter);
I do not believe we can change this. This is unfortunately too late. /proc/net/tcp has the same 'issue' or if you prefer, well known behavior. Such change would break basically all /proc/net/igmp users.
