Yi Zou wrote:
> We are always sending the max frame size from lport->mfs when sending the FIP
> keep alive even there are no vport desciptors. There is no need to send the
> full sized frame for keep-alive.
>
> Signed-off-by: Yi Zou <[email protected]>
> ---
>
> drivers/scsi/fcoe/libfcoe.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
> index 2988b71..b9c56ff 100644
> --- a/drivers/scsi/fcoe/libfcoe.c
> +++ b/drivers/scsi/fcoe/libfcoe.c
> @@ -351,8 +351,9 @@ static void fcoe_ctlr_send_keep_alive(struct fcoe_ctlr
> *fip,
> if (!fcf || !fc_host_port_id(lp->host))
> return;
>
> - len = fcoe_ctlr_fcoe_size(fip) + sizeof(struct ethhdr);
> - BUG_ON(len < sizeof(*kal) + sizeof(*vn));
> + len = sizeof(*kal) + ports * sizeof(*vn);
> + if (len < ETH_ZLEN)
> + len = ETH_ZLEN;
> skb = dev_alloc_skb(len);
> if (!skb)
> return;
>
I guess a preliminary version of FIP must've specified that Keep Alives were
padded in order to verify the fabric can still carry jumbo frames.
I may have just heard this in a conversation somewhere.
It doens't have anything to do with whether there is a port parameter or
vports. The BUG_ON is just paranoia to say the padding is always going
to give us a big enough skb.
However, I can't find anything about padding keep-alives in the
current spec. It only talks about padding the solicited advertisements.
I still think it's a good idea to pad the keep-alives.
Maybe we should get the spec. to state that.
Joe
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel