qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] slirp: Add IPv6 support to the TFTP code


From: Samuel Thibault
Subject: Re: [Qemu-devel] [PATCH] slirp: Add IPv6 support to the TFTP code
Date: Tue, 16 Feb 2016 11:30:24 +0100
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Hello,

Thanks for working on it :)

Thomas Huth, on Tue 16 Feb 2016 09:47:38 +0100, wrote:
> -static int tftp_session_allocate(Slirp *slirp, struct tftp_t *tp)
> +static int tftp_session_allocate(struct sockaddr_storage *srcsas, Slirp 
> *slirp,
> +                                 struct tftp_t *tp)

slirp is usually the first parameter, it'd probably be better to keep
this habit.

> -static int tftp_session_find(Slirp *slirp, struct tftp_t *tp)
> +static int tftp_session_find(struct sockaddr_storage *srcsas, Slirp *slirp,
> +                             struct tftp_t *tp)

ditto.

> +static void tftp_udp_output(struct tftp_session *spt, struct mbuf *m,
> +                            struct tftp_t *recv_tp)
> +{
> +    if (spt->client_addr.ss_family == AF_INET6) {
> +        struct sockaddr_in6 sa6, da6;
> +
> +        memcpy(&sa6.sin6_addr, spt->slirp->vhost_addr6.s6_addr, 16);

Why not simply sa6.sin6_addr = spt->slirp->vhost_addr6?

The compiler will optimize the structure assignment as an inline copy or
memcpy call as appropriate.

> +        sa6.sin6_port = recv_tp->udp.uh_dport;
> +        memcpy(&da6.sin6_addr,
> +               &((struct sockaddr_in6 *)&spt->client_addr)->sin6_addr, 16);

ditto.

Otherwise the patch looks particularly good :)

Samuel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]