@@ -173,7 +173,7 @@ const std::vector<katran::PacketAttributes> testFixtures = {
173173 .Eth (" 02:00:00:00:00:00" , " 01:00:00:00:00:00" )
174174 .IPv6 (" fc00:1::1" , " fc00:2::1" )
175175 .ICMPv6 (ICMPv6Header::ECHO_REPLY )},
176- // 10
176+ // 10
177177 {.description = " v4 ICMP dest-unreachabe fragmentation-needed" ,
178178 .expectedReturnValue = " XDP_TX" ,
179179 .inputPacketBuilder =
@@ -212,47 +212,76 @@ const std::vector<katran::PacketAttributes> testFixtures = {
212212 .IPv6 (" fc00:1::1" , " fc00:2::1" )
213213 .TCP (80 , 31337 , 0 , 0 , 8192 , TH_SYN )
214214 .payload (" katran test packet" )},
215- // 12
216- {
217- // Ether(src="0x1", dst="0x2")/IP(src="192.168.1.1", dst="10.200.1.1",ihl=6)/TCP(sport=31337, dport=80,flags="A")/"katran test pkt"
218- .inputPacket = " AgAAAAAAAQAAAAAACABGAAA3AAEAAEAGrE7AqAEBCsgBAXppAFAAAAAAAAAAAFAQIAAn5AAAa2F0cmFuIHRlc3QgcGt0" ,
219- .description = " drop of IPv4 packet w/ options" ,
220- .expectedReturnValue = " XDP_DROP" ,
221- .expectedOutputPacket = " AgAAAAAAAQAAAAAACABGAAA3AAEAAEAGrE7AqAEBCsgBAXppAFAAAAAAAAAAAFAQIAAn5AAAa2F0cmFuIHRlc3QgcGt0"
222- },
223- // 13
224- {
225- // Ether(src="0x1", dst="0x2")/IP(src="192.168.1.1", dst="10.200.1.1",ihl=5,flags="MF")/TCP(sport=31337, dport=80,flags="A")/"katran test pkt"
226- .inputPacket = " AgAAAAAAAQAAAAAACABFAAA3AAEgAEAGjU7AqAEBCsgBAXppAFAAAAAAAAAAAFAQIAAn5AAAa2F0cmFuIHRlc3QgcGt0" ,
227- .description = " drop of IPv4 fragmented packet" ,
228- .expectedReturnValue = " XDP_DROP" ,
229- .expectedOutputPacket = " AgAAAAAAAQAAAAAACABFAAA3AAEgAEAGjU7AqAEBCsgBAXppAFAAAAAAAAAAAFAQIAAn5AAAa2F0cmFuIHRlc3QgcGt0"
230- },
231- // 14
232- {
233- // Ether(src="0x1", dst="0x2")/IPv6(src="fc00:2::1", dst="fc00:1::1",nh=44)/TCP(sport=31337, dport=80,flags="A")/"katran test pkt"
234- .inputPacket = " AgAAAAAAAQAAAAAAht1gAAAAACMsQPwAAAIAAAAAAAAAAAAAAAH8AAABAAAAAAAAAAAAAAABemkAUAAAAAAAAAAAUBAgAP1PAABrYXRyYW4gdGVzdCBwa3Q=" ,
235- .description = " drop of IPv6 fragmented packet" ,
236- .expectedReturnValue = " XDP_DROP" ,
237- .expectedOutputPacket = " AgAAAAAAAQAAAAAAht1gAAAAACMsQPwAAAIAAAAAAAAAAAAAAAH8AAABAAAAAAAAAAAAAAABemkAUAAAAAAAAAAAUBAgAP1PAABrYXRyYW4gdGVzdCBwa3Q="
238- },
239- // 15
240- {
241- // Ether(src="0x1", dst="0x2")/IP(src="192.168.1.1", dst="10.200.1.1",ihl=5)/TCP(sport=31337, dport=82,flags="A")/"katran test pkt"
242- .inputPacket = " AgAAAAAAAQAAAAAACABFAAA3AAEAAEAGrU7AqAEBCsgBAXppAFIAAAAAAAAAAFAQIAAn4gAAa2F0cmFuIHRlc3QgcGt0" ,
243- .description = " pass of v4 packet with dst not equal to any configured VIP" ,
244- .expectedReturnValue = " XDP_PASS" ,
245- .expectedOutputPacket = " AgAAAAAAAQAAAAAACABFAAA3AAEAAEAGrU7AqAEBCsgBAXppAFIAAAAAAAAAAFAQIAAn4gAAa2F0cmFuIHRlc3QgcGt0"
246- },
247- // 16
248- {
249- // Ether(src="0x1", dst="0x2")/IPv6(src="fc00:2::1", dst="fc00:1::1")/TCP(sport=31337, dport=82,flags="A")/"katran test pkt"
250- .inputPacket = " AgAAAAAAAQAAAAAAht1gAAAAACMGQPwAAAIAAAAAAAAAAAAAAAH8AAABAAAAAAAAAAAAAAABemkAUgAAAAAAAAAAUBAgAP1NAABrYXRyYW4gdGVzdCBwa3Q=" ,
251- .description = " pass of v6 packet with dst not equal to any configured VIP" ,
252- .expectedReturnValue = " XDP_PASS" ,
253- .expectedOutputPacket = " AgAAAAAAAQAAAAAAht1gAAAAACMGQPwAAAIAAAAAAAAAAAAAAAH8AAABAAAAAAAAAAAAAAABemkAUgAAAAAAAAAAUBAgAP1NAABrYXRyYW4gdGVzdCBwa3Q="
254- },
255- // 17
215+ // 12
216+ {.description = " drop of IPv4 packet w/ options" ,
217+ .expectedReturnValue = " XDP_DROP" ,
218+ .inputPacketBuilder =
219+ katran::testing::PacketBuilder::newPacket ()
220+ .Eth (" 0x1" , " 0x2" )
221+ .IPv4 (" 192.168.1.1" , " 10.200.1.1" , 64 , 0 , 1 , 0 , 6 )
222+ .TCP (31337 , 80 , 0 , 0 , 8192 , TH_ACK )
223+ .payload (" katran test pkt" ),
224+ .expectedOutputPacketBuilder =
225+ katran::testing::PacketBuilder::newPacket ()
226+ .Eth (" 0x1" , " 0x2" )
227+ .IPv4 (" 192.168.1.1" , " 10.200.1.1" , 64 , 0 , 1 , 0 , 6 )
228+ .TCP (31337 , 80 , 0 , 0 , 8192 , TH_ACK )
229+ .payload (" katran test pkt" )},
230+ // 13
231+ {.description = " drop of IPv4 fragmented packet" ,
232+ .expectedReturnValue = " XDP_DROP" ,
233+ .inputPacketBuilder = PacketBuilder::newPacket ()
234+ .Eth (" 0x1" , " 0x2" )
235+ .IPv4 (" 192.168.1.1" ," 10.200.1.1" ,64 ,0 ,1 ,PacketBuilder::IP_FLAG_MF )
236+ .TCP (31337 , 80 , 0 , 0 , 8192 , TH_ACK )
237+ .payload (" katran test pkt" ),
238+ .expectedOutputPacketBuilder = PacketBuilder::newPacket ()
239+ .Eth (" 0x1" , " 0x2" )
240+ .IPv4 (" 192.168.1.1" ," 10.200.1.1" ,64 ,0 ,1 ,PacketBuilder::IP_FLAG_MF )
241+ .TCP (31337 , 80 , 0 , 0 , 8192 , TH_ACK )
242+ .payload (" katran test pkt" )},
243+ // 14
244+ {.description = " drop of IPv6 fragmented packet" ,
245+ .expectedReturnValue = " XDP_DROP" ,
246+ .inputPacketBuilder = PacketBuilder::newPacket ()
247+ .Eth (" 0x1" , " 0x2" )
248+ .IPv6 (" fc00:2::1" ," fc00:1::1" ,64 ,0 ,0 ,PacketBuilder::IPV6_NH_FRAGMENT )
249+ .TCP (31337 , 80 , 0 , 0 , 8192 , TH_ACK )
250+ .payload (" katran test pkt" ),
251+ .expectedOutputPacketBuilder = PacketBuilder::newPacket ()
252+ .Eth (" 0x1" , " 0x2" )
253+ .IPv6 (" fc00:2::1" ," fc00:1::1" ,64 ,0 ,0 ,PacketBuilder::IPV6_NH_FRAGMENT )
254+ .TCP (31337 , 80 , 0 , 0 , 8192 , TH_ACK )
255+ .payload (" katran test pkt" )},
256+ // 15
257+ {.description =
258+ " pass of v4 packet with dst not equal to any configured VIP" ,
259+ .expectedReturnValue = " XDP_PASS" ,
260+ .inputPacketBuilder = katran::testing::PacketBuilder::newPacket ()
261+ .Eth (" 0x1" , " 0x2" )
262+ .IPv4 (" 192.168.1.1" , " 10.200.1.1" )
263+ .TCP (31337 , 82 , 0 , 0 , 8192 , TH_ACK )
264+ .payload (" katran test pkt" ),
265+ .expectedOutputPacketBuilder = katran::testing::PacketBuilder::newPacket ()
266+ .Eth (" 0x1" , " 0x2" )
267+ .IPv4 (" 192.168.1.1" , " 10.200.1.1" )
268+ .TCP (31337 , 82 , 0 , 0 , 8192 , TH_ACK )
269+ .payload (" katran test pkt" )},
270+ // 16
271+ {.description =
272+ " pass of v6 packet with dst not equal to any configured VIP" ,
273+ .expectedReturnValue = " XDP_PASS" ,
274+ .inputPacketBuilder = katran::testing::PacketBuilder::newPacket ()
275+ .Eth (" 0x1" , " 0x2" )
276+ .IPv6 (" fc00:2::1" , " fc00:1::1" )
277+ .TCP (31337 , 82 , 0 , 0 , 8192 , TH_ACK )
278+ .payload (" katran test pkt" ),
279+ .expectedOutputPacketBuilder = katran::testing::PacketBuilder::newPacket ()
280+ .Eth (" 0x1" , " 0x2" )
281+ .IPv6 (" fc00:2::1" , " fc00:1::1" )
282+ .TCP (31337 , 82 , 0 , 0 , 8192 , TH_ACK )
283+ .payload (" katran test pkt" )},
284+ // 17
256285 {
257286 // Ether(src="0x1", dst="0x2")/ARP()
258287 .inputPacket = " AgAAAAAAAQAAAAAACAYAAQgABgQAAQAAAAAAAAAAAAAAAAAAAAAAAAAA" ,
0 commit comments