コード例 #1
0
ファイル: ripv1.c プロジェクト: 365moods/t50_ddos
  memptr_t buffer;

  struct iphdr *ip;
  struct iphdr *gre_ip;
  struct udphdr *udp;
  struct psdhdr *pseudo;

  assert(co != NULL);

  greoptlen = gre_opt_len(co);
  *size = sizeof(struct iphdr)  +
          sizeof(struct udphdr) +
          sizeof(struct psdhdr) +
          greoptlen             +
          rip_hdr_len(0);

  /* Try to reallocate packet, if necessary */
  alloc_packet(*size);

  /* IP Header structure making a pointer to Packet. */
  ip = ip_header(packet, *size, co);

  /* GRE Encapsulation takes place. */
  gre_ip = gre_encapsulation(packet, co,
                             sizeof(struct iphdr)  +
                             sizeof(struct udphdr) +
                             rip_hdr_len(0));

  /* UDP Header structure making a pointer to IP Header structure. */
  udp         = (struct udphdr *)((unsigned char *)(ip + 1) + greoptlen);
コード例 #2
0
ファイル: ripv2.c プロジェクト: almeiduh/t50
  memptr_t buffer;

  struct iphdr  *ip;
  struct iphdr  *gre_ip;
  struct udphdr *udp;
  struct psdhdr *pseudo;

  assert(co != NULL);

  greoptlen = gre_opt_len(co);
  *size = sizeof(struct iphdr)  +
          sizeof(struct udphdr) +
          sizeof(struct psdhdr) +
          greoptlen             +
          rip_hdr_len(co->rip.auth);

  /* Try to reallocate packet, if necessary */
  alloc_packet(*size);

  /* IP Header structure making a pointer to Packet. */
  ip = ip_header(packet, *size, co);

  /* GRE Encapsulation takes place. */
  gre_ip = gre_encapsulation(packet, co,
                             sizeof(struct iphdr)  +
                             sizeof(struct udphdr) +
                             rip_hdr_len(co->rip.auth));

  /* UDP Header structure making a pointer to  IP Header structure. */
  udp         = (struct udphdr *)((unsigned char *)(ip + 1) + greoptlen);