On Aug 28, 2014, at 7:22 PM, Samuel Ghinet <[email protected]>
 wrote:

> Hello Nithin,
> 
>> /* Netlink datapath family. */
>> NETLINK_CMD nlDatapathFamilyCmdOps[] = {
>>    { OVS_DP_CMD_GET, OvsGetDpCmdHandler,
>>      OVS_WRITE_DEV_OP | OVS_READ_DEV_OP, FALSE }
>> };
> 
> Could you make the NETLINK_CMD variable initialization in the same style as 
> the NETLINK_FAMILY variable initializations?
> It would also make it a bit more obvious as what "FALSE" is above.

Done.

> Regarding OvsGetDpCmdHandler:
> The function is quite big.
> Could you split it something like,
> "
> if (instance->dumpState.ovsMsg == NULL) {
>  OvsDpDumpStart(params)
> } else {
>  OvsDpDumpNextparams)
> }
> "
> 
> on the "dump start" part:
> it might also be the case that all dump operations (dp, vport, etc.) will 
> share this exact code portion.

Good point. I wasn't thinking so much forward :) I added a new function 
OvsSetupDumpStart(), which as you point out is not specific to Dp Dump.

>>       msgOut->nlMsg.nlmsgType = OVS_WIN_NL_DATAPATH_FAMILY_ID;
>>       msgOut->nlMsg.nlmsgFlags = 0;  /* XXX: ? */
>>       msgOut->nlMsg.nlmsgSeq = msgIn->nlMsg.nlmsgSeq;
>>       msgOut->nlMsg.nlmsgPid = msgIn->nlMsg.nlmsgPid;
>>       msgOut->nlMsg.nlmsgLen = sizeof *msgOut;
>> 
>>       msgOut->genlMsg.cmd = OVS_DP_CMD_GET;
>>       msgOut->genlMsg.version = nlDatapathFamilyOps.version;
>>       msgOut->genlMsg.reserved = 0;
> 
> This is a pattern that we will see everywhere in the netlink commands. We 
> could add a function now "OvsCreateOutMsgFromInMsg" or we could do it later.
> 
> btw, the 'netlink set api' is the last that remains of the netlink 
> infrastructure, right?

Yes, I am hoping that once the netlink set API is in place, we'll refactor this.

Thanks so much for the review.

thanks,
Nithin
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to