tested ok.
Merge remote-tracking branch 'marco/tx_rx' into linux_driver-tx_rx-txrev
nf10-newnic: bug fixes for skb expand and wrong mac address

skb expand code was buggy, headroom to expand could be negative in the
case of misaligned skb->data w/ enough headroom. So, fixed.

Arbitrary mac address was multicase address, which leads skb->pkt_type
to PACKET_MULTICAST in eth_type_trans() and this wrong pkt_type makes an
incoming SYN packet to be dropped at the very beginning of tcp_v4_rcv.
So, change it to a host address.

For iperf test(ixgbe->nf0), using tx_rx bitfile typically lets the test fully run
with incredibly low thoughput due to seconds-level timeout for rx
internal buffer. In a trace, dup acks and retransmission happen quite a
lot. But, tx hang sometimes happens and it turns out that some tx
packets are notified as completed, but gc interrupt weren't raised.
Using tx_rx-new doesn't work even though nf0 quickly responds to SYN,
but tx_rx-new HW seems to have some bugs..

Anyway ping works both with tx_rx (latency is terrible because of large
timeout) and tx_rx-new (latency is around 500-600us).