Hi Padam, > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Padam Jeet Singh > Sent: Thursday, October 27, 2016 10:45 PM > To: Wiles, Keith > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] Unable to change source MAC address of packet > > > > On 27-Oct-2016, at 7:37 pm, Wiles, Keith <keith.wiles at intel.com> wrote: > > > > > >> On Oct 27, 2016, at 6:33 AM, Padam Jeet Singh <padam.singh at inventum.net> > wrote: > >> > >> Hi, > >> > >> I am crafting a packet in which the source MAC address as set in the > >> Ethernet > header is different than the transmit port?s default MAC address. A packet > capture of the packets coming out of this port however comes with source MAC > address of the port?s default MAC address. > >> > >> Altering the destination MAC address works fine and shows up correctly in > packet capture. > >> > >> The underlying network interface is an i210 and some logs added to the > eth_igb_xmit_pkts function show that the packets I have crafted indeed are > reaching the driver with the source MAC address set in the packet code of the > application. > >> > >> How can I disable this automatic source MAC address setting? > > > > The packets sent with rte_eth_tx_burst() are not forced to a give MAC > > address. > If you are using something on top of DPDK like Pktgen or OVS or something, > then it may try to force a source MAC address. > > No? not using pktgen or OVS. Plain simple code to take a packets from a KNI, > change source mac address on all received packets, and then tx_burst them to > a > port. > > > Maybe the hardware does it, but we need to know the NIC being used and > then someone maybe able to answer. I do not know of any Intel NICs do that. > > Intel i210 NIC (gigabit Ethernet) is being used. I have gone through the i210 > documentation and can?t see anything specific to setting of MAC address in > hardware for TX side. For RX side there are validations like MAC filtering, > but > nothing over TX. > > > > > Is this what you are doing. > > I agree that rte_eth_tx_burst does not overwrite the source MAC as I was able > to trace all the way to the IGB driver that source mac makes it intact. There > is no > offload flags enabled in the mbuf. Yet the packets to the other side comes out > as with source mac address of the port. > > Is there any standard DPDK app which crafts packets with different source MAC > than the port?s physical mac? (I checked the l2fwd example loads the port mac > before transmitting and then uses the same in TX function). I don?t have a i210 on hand, so I checked the datasheet of i210. I don't find any description about HW will change the MAC address in the frame. I believe HW should send the frame provided by SW except doing some offload like checksum... May I suggest to use testpmd forwarding a packet which has a different src MAC than the port's?
> > > > >> > >> Thanks, > >> Padam > > > > Regards, > > Keith > >