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

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

 



> Subject: Re: [RFC PATCH v5 12/16] RDMA/irdma: Add miscellaneous utility
> definitions
> 
> 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?
No it does not respond to ARPs.

> Or do you mean this synchronizes the neighbour table so the HW knows the MAC? This is for iwarp only then?
>
Yes. The HW maintains its own ARP cache and we need to sync its
entries. The code in the driver manages this cache.
The QP context references the cache entry via the index.
This applies to both iWARP and RoCE.




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux