Hi Marc,

> Shouldn't you then have a route involving the tap0 interace with a G
> flag in it ?
> 

Sure - here is output after the route was added:

root@dhcpeff64253:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tap0
10.0.2.0        10.0.0.200      255.255.255.0   UG    0      0        0 tap0
134.104.64.0    0.0.0.0         255.255.240.0   U     0      0        0 eth0
0.0.0.0         134.104.64.16   0.0.0.0         UG    0      0        0 eth0


>> I have enabled routing on the switch, and I can ping 10.0.2.20 from 
>> 10.0.0.11 on adding relevant static routes on both machines. However this 
>> doesn’t work for the ROACH1. What is going wrong here?
> 
> The tgtap logic handles arp and thus also needs to substitute the
> ethernet mac of the gateway - I don't remember when support was added
> for that - github/ska-sa/katcp_devel has the code in
> transmit_ip_fpga(), there is a chance you might have to backport it.
> However, this is for control traffic (packets that the kernel sends)
> only.
> 
> In the case of the packets being generated by gateware on the fpga,
> this substitution is made differently - I think the gateway register
> needs to be loaded up (at offset 0xc). Doesn't the tap-start call have
> an option for that ?


I use an ancient version of the core package, and here is the help on on tg_tap 
- no mention of a gateway here...

tap_start(self, tap_dev, device, mac, ip, port) method of 
corr.katcp_wrapper.FpgaClient instance
    Program a 10GbE device and start the TAP driver.
    
    @param self  This object.
    @param device  String: name of the device (as in simulink name).
    @param tap_dev  String: name of the tap device (a Linux identifier). If you 
want to destroy a device later, you need to use this name.
    @param mac   integer: MAC address, 48 bits.
    @param ip    integer: IP address, 32 bits.
    @param port  integer: port of fabric interface (16 bits).
    
    Please note that the function definition changed from corr-0.4.0 to 
corr-0.4.1 to include the tap_dev identifier.

Cheers,
Ramesh






Reply via email to