> On 21 May 2021, at 17:15, Neale Ranns <ne...@graphiant.com> wrote:
> 
> 
> Right, there’s only so much space available. You’ll need to recompile VPP to 
> get more space.
> Change the PRE_DATA_SIZE value in src/vlib/CMakeLists.txt.

Alternatively use a new buffer for the new IPv6 header and extension header 
chain and chain the buffers together. 

You might want to look at the ioam plugin too btw. 

Cheers 
Ole


> /neale
>
>
> From: jerome.bay...@student.uliege.be <jerome.bay...@student.uliege.be>
> Date: Friday, 21 May 2021 at 17:06
> To: Neale Ranns <ne...@graphiant.com>
> Cc: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io>, Justin Iurman 
> <justin.iur...@uliege.be>
> Subject: Re: [vpp-dev] IPv6 in IPv6 Encapsulation
> 
> I've just run few tests to be sure :
>
> It's exactly that ! As long as the extension header is smaller or exactly 
> equal to 128 bytes, everything is fine.
>
> Once it gets bigger than 128 bytes, it starts to go wrong and funky.
>
> Jérôme
>
> De: "Neale Ranns" <ne...@graphiant.com>
> À: "jerome bayaux" <jerome.bay...@student.uliege.be>
> Cc: vpp-dev@lists.fd.io, "Justin Iurman" <justin.iur...@uliege.be>
> Envoyé: Vendredi 21 Mai 2021 16:38:02
> Objet: Re: [vpp-dev] IPv6 in IPv6 Encapsulation
>
>
> Does it all start to go wrong when the extension header gets to about 128 
> bytes?
>
> /neale
>
>
> From: jerome.bay...@student.uliege.be <jerome.bay...@student.uliege.be>
> Date: Friday, 21 May 2021 at 16:04
> To: Neale Ranns <ne...@graphiant.com>
> Cc: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io>, Justin Iurman 
> <justin.iur...@uliege.be>
> Subject: Re: [vpp-dev] IPv6 in IPv6 Encapsulation
> 
> Hi again Neale,
>
> Here are some additional observations I've noticed and that could be useful 
> for you to help me :
>
> 1) The error only shows up when the Hop-by-Hop extension header I add is big 
> enough (I can give you a more accurate definition of "enough" if you need). 
> When it is quite small, everything seems fine.
>
> 2) The faulty MAC address seems to follow a "pattern" : it is always of the 
> form "X:00:00:00:e3:6e", where byte X is a number that increases for the 
> following packets. Moreover, the bytes "e3:6e" (i.e last 16 bytes of MAC 
> address) are correct and correspond to the last 16 bytes of the expected and 
> thus correct destination MAC address.
>
> Thank you for the help,
>
> Jérôme
>
> De: "jerome bayaux" <jerome.bay...@student.uliege.be>
> À: "Neale Ranns" <ne...@graphiant.com>
> Cc: vpp-dev@lists.fd.io, "Justin Iurman" <justin.iur...@uliege.be>
> Envoyé: Vendredi 21 Mai 2021 14:36:43
> Objet: Re: [vpp-dev] IPv6 in IPv6 Encapsulation
>
> Hi Neale,
>
> Here is a trace of a simple ping packet entering into VPP (let me know if you 
> need more information about the topology I used) :
>
> Packet 8
> 
> 00:00:38:194824: af-packet-input
>   af_packet: hw_if_index 1 next-index 4
>     tpacket2_hdr:
>       status 0x20000001 len 118 snaplen 118 mac 66 net 80
>       sec 0x60a7a2bd nsec 0x35392422 vlan 0 vlan_tpid 0
> 00:00:38:194826: ethernet-input
>   IP6: 8a:f6:cc:53:06:db -> 02:fe:6b:c4:db:06
> 00:00:38:194848: ip6-input
>   ICMP6: db00::2 -> db03::2
>     tos 0x00, flow label 0xaaa8d, hop limit 64, payload length 64
>   ICMP echo_request checksum 0x26b9
> 00:00:38:194871: ip6-inacl
>   INACL: sw_if_index 1, next_index 1, table 0, offset 1216
> 00:00:38:194916: ip6-add-hop-by-hop
>   IP6_ADD_HOP_BY_HOP: next index 2
> 00:00:38:194955: ip6-lookup
>   fib 0 dpo-idx 19 flow hash: 0x00000000
>   IP6_HOP_BY_HOP_OPTIONS: db01::1 -> db02::2
>     tos 0x00, flow label 0xaaa8d, hop limit 64, payload length 256
> 00:00:38:194993: ip6-load-balance
>   fib 0 dpo-idx 6 flow hash: 0x00000000
>   IP6_HOP_BY_HOP_OPTIONS: db01::1 -> db02::2
>     tos 0x00, flow label 0xaaa8d, hop limit 64, payload length 256
> 00:00:38:195032: ip6-hop-by-hop
>   IP6_HOP_BY_HOP: next index 5 len 152 traced 152 namespace id 1, trace type 
> 0xf0f000, 2 elts left, 44 bytes per node
>     [0], ttl: 0x0, node id short: 0x0, ingress sw: 0, egress sw: 0, timestamp 
> (s): 0x0, timestamp (sub-sec): 0x0, ttl: 0x0, node id wide: 0x0, ingress hw: 
> 0, egress hw: 0, appdata wide: 0x0, buffers avail
> able: 0
>     [1], ttl: 0x0, node id short: 0x0, ingress sw: 0, egress sw: 0, timestamp 
> (s): 0x0, timestamp (sub-sec): 0x0, ttl: 0x0, node id wide: 0x0, ingress hw: 
> 0, egress hw: 0, appdata wide: 0x0, buffers avail
> able: 0
>     [2], ttl: 0x40, node id short: 0x1, ingress sw: 1, egress sw: 2, 
> timestamp (s): 0x60a7a2bd, timestamp (sub-sec): 0x60a7a2bd, ttl: 0x40, node 
> id wide: 0x1, ingress hw: 1, egress hw: 2, appdata wide: 0x
> 3, buffers available: 16288
> 
>     unrecognized option 172 length 240
> 
> Packet 9
> 
> 00:00:38:195078: handoff_trace
>   HANDED-OFF: from thread 225 trace index 10354178
> 00:00:38:195078: ip6-rewrite
>   tx_sw_if_index 2 adj-idx 6 : ipv6 via db01::2 memif1/0: mtu:9000 next:4 
> flags:[] 02fe9de1e36e02fe666cf11e86dd flow hash: 0x00000000
>   00000000: 08000000e36e02fe666cf11e86dd600aaa8d0100003fdb010000000000000000
>   00000020: 000000000001db02000000000000000000000000000229120000318e00010001
>   00000040: 5802f0f000000000000000000000000000000000000000000000000000000000
>   00000060: 00000000000000000000000000000000000000000000000000000000
> 00:00:38:195130: memif1/0-output
>   memif1/0 
>   IP6: 02:fe:66:6c:f1:1e -> 08:00:00:00:e3:6e
>   IP6_HOP_BY_HOP_OPTIONS: db01::1 -> db02::2
>     tos 0x00, flow label 0xaaa8d, hop limit 63, payload length 256
>
> I've just noticed that the packet is interpreted as 2 packets in the vpp 
> trace output which is weird I guess. Maybe it's a first clue about my issue.
>
> As you can see in the last few lines, the destination MAC address is set to 
> "08:00:00:00:e3:6e" which is not the expected value in that case.
>
> Jérôme
>
> De: "Neale Ranns" <ne...@graphiant.com>
> À: "jerome bayaux" <jerome.bay...@student.uliege.be>, vpp-dev@lists.fd.io
> Cc: "Justin Iurman" <justin.iur...@uliege.be>
> Envoyé: Vendredi 21 Mai 2021 13:34:32
> Objet: Re: [vpp-dev] IPv6 in IPv6 Encapsulation
>
> Hi Jérôme,
>
> A packet trace would help us help you in this case 😊
>
> /neale
>
>
> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> on behalf of jerome.bayaux 
> via lists.fd.io <jerome.bayaux=student.uliege...@lists.fd.io>
> Date: Friday, 21 May 2021 at 13:05
> To: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io>
> Cc: Justin Iurman <justin.iur...@uliege.be>
> Subject: [vpp-dev] IPv6 in IPv6 Encapsulation
> 
> Hello all,
>
> I'm trying to do some IPv6 in IPv6 encapsulation with no tunnel configuration.
>
> The objective is to encapsulate the received packet in an other IPv6 packet 
> that will also "contain" a Hop-by-hop extension header. In summary, the 
> structure of the final packet will look like this : Outer-IP6-Header -> 
> Hop-by-hop-extension-header -> Original packet.
>
> To do so, I use an access list to redirect packets to my VPP node that 
> encapsulates the received packets. My node is located between the "ip6-inacl" 
> node and the "ip6-lookup" node.
>
> Here is the path that is thus taken by the packet : "ethernet-input" -> 
> "ip6-input" -> "ip6-inacl" -> "My VPP node" -> "ip6-lookup" -> etc.
>
> The issue I have is the following : The packets that leave VPP after being 
> encapsulated have some issues regarding their MAC addresses. Indeed, for 
> example, the destination MAC is not the expected one (and is not even a valid 
> one according to the topology I use). It looks like there is an issue with 
> the resolution of the MAC addresses or something like that but I'm not sure. 
> Should I do anything in my implementation to kind of "warn" VPP that I am 
> performing an IPv6 encapsulation or something ?
>
> Thanks for your answers,
>
> Jérôme
>
>
> 
>
> 
> 
> 
> 
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#19431): https://lists.fd.io/g/vpp-dev/message/19431
Mute This Topic: https://lists.fd.io/mt/82983110/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to