Subject: Re: [RFC PATCH v5 12/16] RDMA/irdma: Add miscellaneous utility definitions

From: Jason Gunthorpe <[email-masked]>
Date: Tue, 21 Apr 2020 21:06:40 -0300

On Wed, Apr 22, 2020 at 12:02:14AM +0000, Saleem, Shiraz wrote:
> > Subject: Re: [RFC PATCH v5 12/16] RDMA/irdma: Add miscellaneous utility
> > definitions
> > 
> 
> [...]
> > > > > + * irdma_arp_table -manage arp table
> > > > > + * @rf: RDMA PCI function
> > > > > + * @ip_addr: ip address for device
> > > > > + * @ipv4: IPv4 flag
> > > > > + * @mac_addr: mac address ptr
> > > > > + * @action: modify, delete or add  */ int irdma_arp_table(struct
> > > > > +irdma_pci_f *rf, u32 *ip_addr, bool ipv4,
> > > > > +		    u8 *mac_addr, u32 action)
> > > >
> > > > ARP table in the RDMA driver looks strange, I see that it is legacy
> > > > from i40iw, but wonder if it is the right thing to do the same for the new driver.
> > > >
> > >
> > > See response in Patch #1.
> > 
> > OK, let's me rephrase the question.
> > Why can't you use arp_tbl from include/net/arp.h and need to implement it in the
> > RDMA driver?
> > 
> 
> The driver needs to track the on-chip arp cache indices and program the
> index & entry via rdma admin queue cmd. These indices are specific to our hw
> arp cache and not the system arp table. So I am not sure how we can use it.

Why does an RDMA device respond to ARPs? Or do you mean this
synchronizes the neighbour table so the HW knows the MAC? This is for
iwarp only then?

Jason